VBA
Résolu
rimoa
Messages postés
153
Date d'inscription
Statut
Membre
Dernière intervention
-
rimoa Messages postés 153 Date d'inscription Statut Membre Dernière intervention -
rimoa Messages postés 153 Date d'inscription Statut Membre Dernière intervention -
Bonjour, merci de votre aide. Je vous en serai reconnaissante si vous pouvez trouver mon erreur sans que je vous envoie le fichier par confidentialité. je copie ici juste la partie des boucles.
j'ai 4 feuilles, j'essaye de faire une macro pour consolider les trois tables dans la feuille 'Comb' mais la boucle copie une seule table et s'arrête sans message d'erreur.
j'ai 4 feuilles, j'essaye de faire une macro pour consolider les trois tables dans la feuille 'Comb' mais la boucle copie une seule table et s'arrête sans message d'erreur.
For j = 1 To 3 'parcours feuilles
Sheets(j).Select
dereniereligne = Range("A1000000").End(xlUp).Row
For i = 2 To DerniereLigne 'parcours lignes chaque table
Sheets(j).Select
Rows(i).Select
Selection.Copy
Sheets("Comb").Select
LastRowConsolidation = Range("A1000000").End(xlUp).Row + 1
Cells(LastRowConsolidation, 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Next i
Next j
Application.ScreenUpdating = True
MsgBox "Consolidation terminée", vbOKOnly + vbInformation, "information"
End Sub
2 réponses
-
Bonjour,
dereniereligne= Range("A1000000").End(xlUp).Row
et
For i = 2 To DerniereLigne 'parcours lignes chaque table
La y a un probleme de nom de variable et c'est pas le d majuscule
Vous dites que ca copie une seule table, ben pas possible copie rien
Maintenant, il faut eviter les select et autant que possible les boucles sur ligne quand il y a moyen de faire autrement
Une facon de faire:Sub test() Application.ScreenUpdating = False For j = 1 To 3 'parcours feuilles dereniereLigne = Sheets(j).Range("A" & Rows.Count).End(xlUp).Row With Sheets("Comb") LastRowConsolidation = .Range("A" & .Rows.Count).End(xlUp).Row + 1 Sheets(j).Rows("2:" & dereniereLigne).Copy .Cells(LastRowConsolidation, 1) End With Next j Application.ScreenUpdating = True MsgBox "Consolidation terminée", vbOKOnly + vbInformation, "information" End Sub -
sorry j avais oubliè de cliquer rèsolu. c esr fait.
juste une petite note que j avais manquee dans mes repinses. Oui mon code erronè copiait ètrangement une seuille feuille dans le combinè. oui ça ne devait pas fonctionner du tout mais bon je voulais juste ajouter cette precision.