pierrequimousse
XLDnaute Junior
Bonjour à tous !
Je voudrais récupérer des données (plusieurs lignes de 5 cellules par onglet) provenant des onglets n°5 à "n" (variable) selon une condition simple
PUIS les mettre sous forme de liste dans l'onglet n°4. Débutant en VBA, j'ai écrit ce qui suit (mais ce n'est que de la théorie...).
Je crois ne pas être trop loin du "vrai" mais il me manque un peu de syntaxe et d'astuce... en bref je manque un peu de compétence VBA!!! (mais j'y travaille...)
Mes humbles questions :
- Comment coller les données copiées sur la feuil i dans la feuil 4, en fin de liste ?
- Comment arrête t-on une boucle ? (dans mon code j'ai mis imax, qui correspond au n° de feuil le plus élevé) que va t'il se passer si on lui demande de chercher dans une feuille inexistante, comment l'éviter ?
D'avance merci à ceux qui jetteront un oeil sur mon code, si vous voulez je peux faire un fichier exemple (l'original est déjà trop lourd)...
Merci et à bientôt !
VOICI LE FICHIER : les données à récupérer sont dans les colonnes A:E des 2 onglets du milieu, à mettre dans le t ableau de l'onglet OF
Je voudrais récupérer des données (plusieurs lignes de 5 cellules par onglet) provenant des onglets n°5 à "n" (variable) selon une condition simple
PUIS les mettre sous forme de liste dans l'onglet n°4. Débutant en VBA, j'ai écrit ce qui suit (mais ce n'est que de la théorie...).
Je crois ne pas être trop loin du "vrai" mais il me manque un peu de syntaxe et d'astuce... en bref je manque un peu de compétence VBA!!! (mais j'y travaille...)
Mes humbles questions :
- Comment coller les données copiées sur la feuil i dans la feuil 4, en fin de liste ?
- Comment arrête t-on une boucle ? (dans mon code j'ai mis imax, qui correspond au n° de feuil le plus élevé) que va t'il se passer si on lui demande de chercher dans une feuille inexistante, comment l'éviter ?
Sub Récup_données()
Feuil4.Range("b4:f10000").ClearContents 'JE METS ICI 10 000 CAR JE NE SAIS PAS
'SI ON PEUT LUI DEMANDER DE NEFFACER QUE les cellules non vides de la liste ?
Dim i, j As Integer
For i = 5 To IMAX 'i est le numéro de feuille à partir de 5 jusque n (nombre d'onglets variables) comment faire pour que la
'boucle s'arrête bien sur la dernière feuille existant dans le classeur ?
Do
With feuil("i")
For j = 1 To 10000 'j pour le numéro de ligne, pareil je mets 10 000 car ne sais pas comment lui demander de s'arreter
'à la dernière ligne remplie (il y a des lignes vierges dans les "feuil i", par souci de clarté et de présentation)
Do
If .Cells("A&j") > 0 Then
.Range("A&J:E&j").Copy
'PUIS COLLER EN FIN DE LA LISTE QUI COMMENCE EN FEUILLE 4, CELLULE B4, qui a 5 colonnes End If
Next
Next
End Sub
D'avance merci à ceux qui jetteront un oeil sur mon code, si vous voulez je peux faire un fichier exemple (l'original est déjà trop lourd)...
Merci et à bientôt !
VOICI LE FICHIER : les données à récupérer sont dans les colonnes A:E des 2 onglets du milieu, à mettre dans le t ableau de l'onglet OF
Dernière édition: