Repeter une macro x fois

Pierre l'encreur -  
 Pierre l'encreur -
Bonjour,

J'aimerais transposer 2200 ligne d'une feuille excel... Pour cela je me suis dit qu'une macro serait l'idéal, mais j'y connais rien (pire qu'un noob!).

J'ai réussi à faire une macro pour transposer ma 1ere ligne et transposer ma seconde ligne à la suite. Problème, cela doit ce faire manuellement.

Est-ce que quelqun aurait la clé pour pouvoir automatiser le truc.

Merci beaucoup.

Voici la macro en question générée par enregistrement:

Sub Macro19()
'
' Macro19 Macro
'

'
Sheets("Feuil1").Select
ActiveCell.Offset(1, 0).Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheets("Feuil3").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End Sub
Configuration: Windows XP Internet Explorer 8.0

2 réponses

  1. loukoum
     
    Bonjour,

    Moi aussi je débute alors je ne sais pas si ça va t'aider (vive la solidarité entre débutant !!)
    Mais l'idée c'est que tu répètes la même opération pour chaque ligne.
    Donc tu crées un compteur i qui représente le n° de la ligne, tu l'initialises à 1, et tu fais une boucle FOR du type

    FOR i = 1 to 2000

    ton opération

    i = i +1 (comme ça tu passes à la ligne suivante)

    FIN BOUCLE FOR (euh, je sais plus la syntaxe :p)

    Tu dois même pouvoir faire un truc genre WHILE (ligne non vide) faire l'opération, ligne suivante END LOOP

    Bon courage !
    0
    1. Pierre l'encreur
       
      Merci pour ta réponse si rapide, malheureusement je suis tellement débutant (ce matin...) que je n'arrive pas à faire en sorte que ça marche.
      0
  2. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    bonjur..

    FOR i = 1 to 2000 'ok

    ton opération 'j suis d accord

    i = i +1 (comme ça tu passes à la ligne suivante) 'ah ben non, si c'est un for c'a s incremente tout seul.. tu confond avec un while/wend

    FIN BOUCLE FOR (euh, je sais plus la syntaxe :p)=> la solution ::: ) next

    =>

    for i=1 to 2000
    'ici ton code
    next

    ou

    i=1
    while i<2000
    'ici ton code
    i=i+1 ' c'est là :)
    wend
    0
    1. Pierre l'encreur
       
      Merci de m'avoir aidé. Un collègue à finalement réussi à y arriver grâce à une formule alambiquée.

      Je vous fait tout de même part du problème que j'ai eu:

      en lançant le programme suivant:

      for i=1 to 2000
      'ici mon code
      next

      Excel ne m'affichait que des blancs alors que je le voyais faire l'opération demandée sur toute la ligne...

      En tout cas, merci encore de m'avoir aidé.
      0