Bonsoir à toutes et à tous
J'ai plusieurs classeurs christian.xlsx Pierre.xlsx….1 feuille avec x colonnes
Col A Action
Col B Auteur
Col C Gestionnaire
Col D Montant
Dans un classeur Recap.xlsm je récupère dans chaque classeur les colonnes de A à D
Jusque-là pas de problème j'ai trouvé un exemple de code sur le forum
Je rencontre plusieurs difficultés :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Sub Synthese() ' -------------- Dim DerLig As Long DerLig = Cells.Find("*", , , , xlByRows, xlPrevious).Row [a2] = "efface" Range("a2:e" & DerLig).ClearContents ' Parcours de tous les fichiers ' ----------------------------- ChDir "C:\Users\XX\Desktop\conso tablo" ClasseurRegional = Dir("C:\Users\XX\Desktop\conso tablo\*.xlsx") While Len(ClasseurRegional) > 0 Workbooks.Open ClasseurRegional AvantDerniereLigne = ActiveSheet.UsedRange.Rows.Count Range("A2:D" & AvantDerniereLigne).Copy Workbooks("Recap.xlsm").Activate DebutNomFichier = ActiveSheet.UsedRange.Rows.Count + 1 Range("A" & ActiveSheet.UsedRange.Rows.Count + 1).Select ActiveSheet.Paste 'Range("A" & DebutNomFichier & ":A" & ActiveSheet.UsedRange.Rows.Count) = ClasseurRegional Workbooks(ClasseurRegional).Close ClasseurRegional = Dir Wend End Sub
Si je rajoute des infos dans les colonnes E F G et que la dernière saisie a eu lieu dans la cellule E15 par exemple du classeur recap.xlsm, au lancement de la macro Synthese() la copie des données des classeurs Christian et Pierre s'effectue à ligne 16 au lieu de la ligne 2
D'autre part serait-il possible de ne copier les lignes sous condition à savoir si auteur = Christian alors copier les lignes.
J'espère avoir été assez claire
Merci à vous et bonne fin de journée !
Partager