Bonjour à tous !

Dans un de mes fichiers j'ai fait un groupement de colonnes pour simplifier le visuel.
Il peut arriver qu'il y ai plusieurs niveaux de groupement (mauvaise manipulation de l'utilisateur).

Pour éviter toute erreur je souhaite supprimer tous les niveaux de groupement et en recréer un seul.

Comme il n'y a pas qu'une colonne à groupe j'utilise un boucle.

Voici le code que j'utilise:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub toto()
 
' On créé les groupements de colonnes
    i = 9
    While i < 30
        If Cells(1, i).Value = "" Then
            Cells(1, i).Select
            Selection.End(xlToRight).Select
            Selection.End(xlToRight).Select
            colgroup = Selection.Column - 1
            Range(Cells(1, i + 1), Cells(1, colgroup)).Select
            For a = 1 To 5
                On Error GoTo suite
                Selection.Columns.Ungroup
            Next a
suite:
            Selection.Columns.Group
            Selection.Columns(1).ShowDetail = False
            On Error GoTo 0
        End If
        i = i + 1
    Wend
 
End Sub
Pour éviter d'afficher les erreurs dues à la suppression d'un groupement qui n'existe pas j'utilise On Error Goto.

Le problème c'est que ce On Error Goto ne fonctionne qu'une seule fois. J'ai donc ajouté un On Error Goto 0 pour éviter cela mais ça ne change rien.

Est-ce que quelqu'un aurait de quoi éclairer ma lanterne?

Merci
pastis.vi