VBA
Résolu
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-
-
-
Modérateur@rimoaSi le problème est résolu, pense à le "marquer comme résolu" (gros bouton vert)
-
-
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.