Boucle

Fermé
roni77300 Messages postés 25 Date d'inscription lundi 31 août 2009 Statut Membre Dernière intervention 27 octobre 2009 - 2 sept. 2009 à 14:13
roni77300 Messages postés 25 Date d'inscription lundi 31 août 2009 Statut Membre Dernière intervention 27 octobre 2009 - 2 sept. 2009 à 15:03
Bonjour,

bonjour, j'ai crée une macro qui copie colle les cellules de mon tableau, avec un autre positionnement, dans la deuxieme feuille de ce meme classeur.
j'ai fait ma macro avec l'enregistreur de macro. donc je n'ai fait que sur la premiere ligne.

En fait il faut maintenant que je rajoute une derniere chose pour que ma macro s'exécute tout seul dans tout mon tableau qui doit faire quelques centaines de lignes.
donc en fait que ma macro, une fois les cellules de la premiere ligne copiées-collées passe a la deuxieme ligne en répétant exactement la meme opération, etc etc etc.

Comment puis je faire ?

merci d'avance pour votre réponse.

roni77300

2 réponses

m@rina Messages postés 20070 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 24 avril 2024 11 271
2 sept. 2009 à 14:26
Bonjour,

Il faut que tu mettes l'action DANS la boucle...

Une boucle de type :

For Each cellule in ActiveSheet.Range("ta plage de cellule sur laquelle tu boucles)

tu fais ton copier coller en prenant la variable "cellule"

Next cellule


m@rina

Sans voir ton code, ce n'est pas facile de t'en dire plus.
Sache aussi que l'enregistreur de macro est ton ami, mais il ne faut pas en attendre trop. Il faut ensuite nettoyer le code...

m@rina
0
roni77300 Messages postés 25 Date d'inscription lundi 31 août 2009 Statut Membre Dernière intervention 27 octobre 2009
2 sept. 2009 à 14:40
voila pour le moment j'ai ce tableau la

A B C D E C .... N
1 ex1 ex1 ex1 ex1 ex4 ex8.....
2 ex1 ex1 ex1 ex1 ex5 ex9.....
...
...
.
.
.


Range("A1:E1").Select
Selection.Copy
Sheets("Feuil2").Select
ActiveSheet.Paste
Sheets("Feuil1").Select
Range("F1:J1").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Range("A2").Select
ActiveSheet.Paste
Sheets("Feuil1").Select
Range("K1:N1").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Range("A3").Select
ActiveSheet.Paste
Sheets("Feuil1").Select
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("A2:E2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Range("A4").Select
ActiveSheet.Paste
Sheets("Feuil1").Select
Range("F2:J2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Range("A4:E4,A5").Select
Range("A5").Activate
ActiveSheet.Paste
Sheets("Feuil1").Select
Range("K2:N2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Range("A6").Select
ActiveSheet.Paste
Range("C9").Select

j'aimerai que la macro fasse toutes les lignes de la meme facon.
0
qmike Messages postés 1506 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 18 juin 2012 594
2 sept. 2009 à 14:55
bonjour

Du genre :

Range
For each cell in selection

a effectuer
next cell
0
roni77300 Messages postés 25 Date d'inscription lundi 31 août 2009 Statut Membre Dernière intervention 27 octobre 2009
2 sept. 2009 à 15:03
merci qmike,

mais vois tu, mes connaissances en macro sont vraiment naze.

peux tu expliciter s'il te plait.


merci bien
0