Récapitulatif Factures

Bonjour à toutes et à tous!

Vraiment néophyte ( pour ne pas me qualifier d'autre chose ) au VBA, j'utilise un module élaboré par un contributeur une macro qui me permettais à partir de classeurs mensuels de factures (une facture par feuille) de créer dans chaque classeur un tableau récapitulatif des factures (n°F, nom client, montant HT....). Tout aller bien dès lors que le classeur comportait une vingtaine de factures (feuilles), mais cette fois ci avec 100 factures je me retrouve avec le message: Procédure trop grande.

Ci après un aperçu des lignes de commande répétitif pour chaque facture:

Worksheets("001 MICHEL").Range("L14").Copy Worksheets("RECAP").Range("B225")
Worksheets("001 MICHEL").Range("L15").Copy Worksheets("RECAP").Range("C225")
Worksheets("001 MICHEL").Range("G12").Copy Worksheets("RECAP").Range("D225")
Worksheets("001 MICHEL").Range("M43").Copy
Worksheets("RECAP").Range("E225").PasteSpecial Paste:=xlValues
Worksheets("001 MICHEL").Range("M45").Copy
Worksheets("RECAP").Range("F225").PasteSpecial Paste:=xlValues
Worksheets("001 MICHEL").Range("M46").Copy
Worksheets("RECAP").Range("G225").PasteSpecial Paste:=xlValues
Worksheets("001 MICHEL").Range("M47").Copy
Worksheets("RECAP").Range("H225").PasteSpecial Paste:=xlValues
Worksheets("001 MICHEL").Range("M48").Copy
Worksheets("RECAP").Range("I225").PasteSpecial Paste:=xlValues

Merci beaucoup pour votre aide!

Bonjour Kornak

Il faut utiliser une boucle pour cela, du style

Dim Fac As Integer

For Fac = 1 to 100
  Worksheets("RECAP").Cells(225, Columns("E1")+Fac-1).Value = Worksheets("001 MICHEL").Range("M" & 42 + Fac).Value
Next Fac

A+

Merci beaucoup! Je vais essayer de suite!

Svp, dois je insérer cette boucle avant chaque bloc de commande? Que désigne le variable Fac? Merci d'avance

Re,

Il faut remplacer

Worksheets("001 MICHEL").Range("M43").Copy
Worksheets("RECAP").Range("E225").PasteSpecial Paste:=xlValues
Worksheets("001 MICHEL").Range("M45").Copy
Worksheets("RECAP").Range("F225").PasteSpecial Paste:=xlValues
Worksheets("001 MICHEL").Range("M46").Copy
Worksheets("RECAP").Range("G225").PasteSpecial Paste:=xlValues
Worksheets("001 MICHEL").Range("M47").Copy
Worksheets("RECAP").Range("H225").PasteSpecial Paste:=xlValues
Worksheets("001 MICHEL").Range("M48").Copy
Worksheets("RECAP").Range("I225").PasteSpecial Paste:=xlValues

Par le code donné, par contre je ne vois pas "M44" en valeur ?

J'ai mis "Fac" plus parlant à mes yeux, comme j'aurais pu mettre "Ligne"

Cette partie

Worksheets("001 MICHEL").Range("L14").Copy Worksheets("RECAP").Range("B225")
Worksheets("001 MICHEL").Range("L15").Copy Worksheets("RECAP").Range("C225")
Worksheets("001 MICHEL").Range("G12").Copy Worksheets("RECAP").Range("D225")

Est certainement remplaçable aussi, mais sans fichier et sans savoir ce que les cellules contiennent

A+

Ci joint un fichier similaire en exemple car l'original est plus lourd. Je vous remercie vivement!

9f-decembre.xlsm (57.69 Ko)

Re,

Effectivement, il reste de l'apprentissage à faire au niveau codage

Voici le fichier nettoyé (pour la taille) avec le code modifié et optimisé

A+

Je vous dois une sacrée chandelle! Je vous en suis reconnaissant. Je suis à votre disposition et à toute l'équipe d'Excel Pratique pour toute forme de contribution.

Bien à vous

Rechercher des sujets similaires à "recapitulatif factures"