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...