Grouper des lignes Code vba

Résolu
mmxa1995 Messages postés 30 Statut Membre -  
NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

je cherche à grouper une liste de lignes, j'utilise le code suivant (il fonctionne très bien) mais il est long:

Rows("5:22").Rows.Group
Rows("24:41").Rows.Group
Rows("43:60").Rows.Group

.
.
.

Rows("404:421").Rows.Group

auriez vous svp une méthode pour réduire mon code??

Merci et bonne journée.

1 réponse

  1. ThauTheme Messages postés 1564 Statut Membre 160
     
    Bonjour Mmxa, bonjour le forum,

    Peut-être comme ça :

    Sub Macro1()
    For I = 5 To 404
        Rows(I & ":" & I + 17).Group
        I = I + 19
    Next I
    End Sub
    

    0
    1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
       
      For I = 5 To 404 STEP 20
      Cela évite le i=i+19
      0
    2. mmxa1995 Messages postés 30 Statut Membre
       
      Youpi yes j'ai corrigé I+18

      Sub Macro1()
      For I = 5 To 404
      Rows(I & ":" & I + 17).Group
      I = I + 18
      Next I
      End Sub
      0
    3. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
       
      Pour une plus grande facilité de lecture, la clause "Step" est à préférer à I=I+...
      0
    4. ThauTheme Messages postés 1564 Statut Membre 160
       
      Bonjour le fil, bonjour le forum

      NHenry a tout a fait raison (même s'il est un peu lourd...) !
      0
    5. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
       
      Merci, mais je surveille ma ligne (de code, ou pas) :)
      0