copier coller plusieurs feuilles dans une feuille - VB/VBA/VBS - Programmation
Marsh Posté le 06-11-2018 à 16:42:29
je corrige en fait mon tableau sur chaque page fait bien la même taille
A1-K19
et je viens de voir aussi que j'ai 5 cellules qui font référence à une autre cellule (B1) ce qui fait que quand je colle à la main mes feuilles les unes apres les autres
je récupère toujours la valeur de la cellule B1... (qui est une date de chaque page....
Marsh Posté le 06-11-2018 à 16:59:56
j'aimerais faire ceci pour toutes les feuilles de mon classeur en VBA
' Range("A1:K19" ).Select
' Selection.Copy
' Sheets("Feuil1" ).Select
' Dim Lig As Long
' Lig = 1 'première ligne à vérifier
' Do While Not IsEmpty(Range("A" & Lig))
' Lig = Lig + 1
' Loop
' Range("A" & Lig).Select
' ActiveSheet.Paste
Marsh Posté le 06-11-2018 à 17:12:50
je sais pas si c'est la meilleur méthode et si elle est bonne...
mais...
ceci à l'air d'avoir fonctionner
Sub Copie()
Dim k As Integer, i As Integer
k = Sheets.Count
For i = 1 To k
Sheets(i).Activate
Range("A1:K19" ).Select
Selection.Copy
Sheets("Feuil1" ).Select
Dim Lig As Long
Lig = 1 'première ligne à vérifier
Do While Not IsEmpty(Range("A" & Lig))
Lig = Lig + 1
Loop
Range("A" & Lig).Select
ActiveSheet.Paste
Next i
End Sub
Marsh Posté le 06-11-2018 à 17:59:38
Bonjour,
Déjà il est conseillé de virer tous les .Select qui ne servent à rien en général à part ralentir le script. Ainsi :
Code :
|
Peut devenir :
Code :
|
etc.
Pour détecter les fins de colonne il existe .End avec la direction xlDown ou alors utiliser .currentRegion qui permet de connaître une zone rectangulaire dont les bords sont limités par uniquement des cellules vides du côté extérieur.
Du coup ça permet de virer la boucle while.
Si tu as plein de feuilles, tu peux éventuellement utiliser une boucle "for each" en y introduisant un "if" qui permet d'éliminer la première feuille, c'est plus simple à manipuler.
Marsh Posté le 06-11-2018 à 16:34:05
Bonjour,
j'ai un fichier de XXX feuilles (1 par jour ouvré depuis le 1er janvier 2018)
et j'aurais besoin de copier toutes les datas de toutes les feuilles dans une seule feuille
pour ensuite fait du traitement de données dans cette nouvelle feuille
j'avais essayé de faire une macro pour récupérer sur chaque feuille ce dont j'ai besoin
mais tout au long de l'année on a changé parfois les termes...
Merci si QQun a une petite macro pour copier/coller tout en une fois...