VBA - Cacher colonnes non adjacentes

LC34

XLDnaute Nouveau
Bonjour à tous !

J'ai un petit problème, et j'ai eu beau chercher sur le forum et sur internet, je n'ai pas trouvé de réponse correspondant.

Je voudrais afficher/cacher des colonnes de données selon l'année qu'elles détaillent.

J'ai donc créé trois Checkbox. Et lors de la rédaction de mon code, je n'arrive pas à faire comprendre à Excel que les colonnes que je veux masquer/afficher ne sont pas adjacentes. :(

Exemple de mon code pour une checkbox :

Code:
Private Sub CheckBox1_Click()

If CheckBox1 = True Then
   Columns("C;F;I;L;O;R;U;X;AA;AD;AG;AJ").Hidden = True
Else
   Columns("C;F;I;L;O;R;U;X;AA;AD;AG;AJ").Hidden = False
End If

End Sub

Ci-joint un fichier exemple correspondant à mon problème.

Merci d'avance ! :)
 

Pièces jointes

  • Exemple-VBA.xlsm
    21.9 KB · Affichages: 43

LC34

XLDnaute Nouveau
Re : VBA - Cacher colonnes non adjacentes

Quelques essais plus tard, on se rend compte oh combien bête on est, d'avoir posté avant d'avoir tout essayé :

La réponse pour les futures personnes qui chercheraient ?

Code:
Private Sub CheckBox1_Click()

If CheckBox1 = True Then
   Range("C:C,F:F,I:I,L:L,O:O,R:R,U:U,X:X,AA:AA,AD:AD,AG:AG,AJ:AJ").EntireColumn.Hidden = True
Else
   Range("C:C,F:F,I:I,L:L,O:O,R:R,U:U,X:X,AA:AA,AD:AD,AG:AG,AJ:AJ").EntireColumn.Hidden = False
End If

End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : VBA - Cacher colonnes non adjacentes

Bonjour,

une autre approche peut être :
Code:
Private Sub CheckBox1_Click()
 Range("C:C,F:F,I:I,L:L,O:O,R:R,U:U,X:X,AA:AA,AD:AD,AG:AG,AJ:AJ").EntireColumn.Hidden = CheckBox1
End Sub

bonne journée
@+
 

Discussions similaires