Répéter une Macro

Résolu
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 ^^.
Configuration: Windows XP Internet Explorer 6.0

5 réponses

  1. Oui ça fonctionne ^^

    Merci beaucoup c'est génial !

    A+ :D
    1. 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.
      1. Contributeur
        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+
    2. Contributeur
      oups, autant pour moi jsuis passé un peu vite sur ce post....avec un pas de 7 évidemment ! merci pilas31 :)
      1. Contributeur
        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. Contributeur
          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