Répéter une Macro

Résolu/Fermé
Serenity75 Messages postés 14 Date d'inscription vendredi 29 janvier 2010 Statut Membre Dernière intervention 11 février 2010 - 29 janv. 2010 à 11:54
Serenity75 Messages postés 14 Date d'inscription vendredi 29 janvier 2010 Statut Membre Dernière intervention 11 février 2010 - 29 janv. 2010 à 14:48
Bonjour !

J'aimerai savoir sous excel 2007, comment on peux faire en sorte que la Macro se répéte.

Je donne un exemple : Losque je fais un
Copier D14 --> D19 - Collage Spécial - Transposer s/ E14

Je voudrai que cela continu de tel sorte que :

Copier D21 --> D26 - Collage Spécial - Transposer s/ E21

Copier D28 --> D32 - Collage Spécial - Transposer s/ E28

Etc ...


J'ai crée une Macro qui donne ceux-ci :

Range("D14:D19").Select
Selection.Copy
Range("E14").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("D21:D26").Select
Application.CutCopyMode = False
Selection.Copy
Range("E21").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("D28:D33").Select
End Sub


Merci de bien vouloir m'aider et si posible dans un language assez simple car je connais pas grand chose ^^.
A voir également:

5 réponses

tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
29 janv. 2010 à 12:21
Salut,
tu pourrais faire un truc comme ça :
derlig = range("D65536").end(xlup).row
For i = 14 to (derlig - 5) step 5
Range("D" & i & ":D" & i + 5).Select
Selection.Copy
Range("E" & i).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
next i
End Sub
1
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 645
29 janv. 2010 à 12:29
Bonjour,

Oui d'accord avec tompols mais plutôt avec un pas de 7 comme ceci par exemple jusqu'à 49:

For lig = 14 To 49 Step 7
    Range("D" & lig & ":D" & lig + 5).Select
    Selection.Copy
    Range("E" & lig).Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=True
Next lig



A+
1
tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
29 janv. 2010 à 12:57
oups, autant pour moi jsuis passé un peu vite sur ce post....avec un pas de 7 évidemment ! merci pilas31 :)
0
Serenity75 Messages postés 14 Date d'inscription vendredi 29 janvier 2010 Statut Membre Dernière intervention 11 février 2010
29 janv. 2010 à 14:07
Je vous remercie pour votre aide mais j'ai mis le code de pilas31 mais cela ne change pas.

Je ne suis vraiment pas doué pour ça. :S

Je mets ton code a la suite du mien ?

Car il me marque End Sub attendu.
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 645
29 janv. 2010 à 14:34
Re bonjour,

Tu dois mettre le code que j'ai suggéré en remplacement du tiens. Tu dois aussi choisir la borne de fin : à la place de 49 tu mets le dernier numéro de ligne pour lequel tu veux que la transposée se fasse.

A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Serenity75 Messages postés 14 Date d'inscription vendredi 29 janvier 2010 Statut Membre Dernière intervention 11 février 2010
29 janv. 2010 à 14:48
Oui ça fonctionne ^^

Merci beaucoup c'est génial !


A+ :D
0