Boucle FOR dans Union de Columns
Bonjour à tous,
Je cale sur un point de mon code malgré pas mal de recherches, alors je me lance pour mon premier post :
J'ai une feuille sur laquelle je peux avoir besoin de faire une "remise à zéro", càd supprimer toutes les données renseignées par l'utilisateur, en conservant toutes les mises en forme, les formules etc. Jusque là ok, aucun problème.
Par soucis de lisibilité, j'ai un certain nombre de colonnes que j'ai groupées (via le bouton "grouper" de la section "plan"), mais que l'utilisateur peut choisir d'afficher ou non, s'il en a besoin ou non : AA:AE, AM:AV, BL:BM, BQ, BS, BU, BW et DB.
Lors de la remise à zéro, je veux que ces colonnes soient masquées (comme si on appuyait sur le petit "-" de notre plan, au-dessus des titres de colonnes). J'arrive à le faire avec un ensemble de colonnes contiguës :
Code:
1 2 3 4 5 6 7
|
With ActiveSheet.Columns("AA:AE")
If Not .Hidden Then
.Hidden = True
Else: .Hidden = True
End If
End With |
Mon problème est que j'aimerais "standardiser" la chose, ou du moins la rendre plus propre, sans avoir à taper 8 fois ce morceau de code pour les 8 ensembles que j'ai nommés plus haut. J'ai essayé de définir une Union de ces colonnes, mais je ne maitrise pas cette commande et du coup ma boucle FOR ne fonctionne pas dans le code suivant :
Code:
1 2 3 4 5 6 7 8
|
Set plage = Union(Columns("AA:AE"), Columns("AM:AV"), Columns("BL:BM"), Columns("BQ"), Columns("BS"), Columns("BU"), Columns("BW"), Columns("DB"))
For Each Columns In plage
If Not .Hidden Then
.Hidden = True
Else: .Hidden = True
End If
Next |
Ce code me renvoie une "Erreur de compilation: Variable requise. Impossible de l'affecter à cette expression"
Quelqu'un aurait-il une piste ?
Merci d'avance !
Moulinois