Afficher / Masquer des colonnes

Bonjour à tous,

Absolument débutant dans le milieu d'excel, j'aurai une question que je vais exprimer en 'français' :

Je veux que lorsque un utilisateur clique sur un bouton, la macro vérifie dans la colonne H toutes les cases dans lesquelles sont marquées 'A', et cacher toutes les lignes correspondantes.

Le bouton sera de formation checkbox, il faut donc que l'action se produise en sens inverse lorsque l'utilisateur décoche ou coche.

Pour résumer donc : 'Je vérifie chaque case de la colonne H, pour chaque case dans laquelle est marquée 'A' je cache la ligne correspondante'.

Pour le moment, je crée mon bouton nommé 'GO', que je lie à la case I2, puis je crée la macro suivante :

Option Explicit

'Affiche ou masque

Private Sub GO_Click()

If Range("I2").Value = True Then

...

Else

...

End If

End Sub

Si quelqu'un pouvait m'aider à mettre tout ça en ordre svp :/

Merci d'avance,

Thomas

Salut freemind,

je te conseille de créer un checkbox à partir de l'activeX control.

Ensuite, tu y appliques ce code :

Private Sub CheckBox1_Click()
Dim cellule As Range, plage As Range

Set plage = Range("H:H")

If CheckBox1.Value = True Then
    For Each cellule In plage
        If cellule.Value = "A" Then
            cellule.EntireRow.Hidden = True
        End If
    Next cellule
Else
    For Each cellule In plage
        If cellule.Value = "A" Then
            cellule.EntireRow.Hidden = False
        End If
    Next cellule
End If

End Sub

Bonjour Eric,

Tout d'abord je te remercie pour ta fonction qui marche à merveille.

En revanche, et pardonnes moi car j'y ai pensé après, je vais avoir plusieurs ligne différentes.

Je m'explique, certaines vont avoir la valeur A, d'autres la valeur B, d'autres la valeur C.

Donc, je peux dupliquer par exemple pour A, B, C ta fonction, exemple :

Private Sub CheckBox1_Click()

If cellule.Value = "A" Then

End Sub

Private Sub CheckBox2_Click()

If cellule.Value = "B" Then

End Sub

Private Sub CheckBox3_Click()

If cellule.Value = "C" Then

End Sub

Toutefois, est ce qu'il n'y a pas moyen de définir une seule fonction qui dirait : "pour chaque checkbox, checkbox 1 vaut A, checkbox 2 vaut B, checkbox 3 vaut C, puis de faire la même fonction ?

Ca permettrait de tout réunir sous la même fonction sans en utiliser 3 tu vois ce que je veux dire ?

En tous cas merci beaucoup pour ton aide,

Thomas

Freemind,

je te laisse t'amuser avec ce fichier.

Ton code principal est dans un module et il est appelé dans chaque checkbox.

Il n'est peut-être pas nécessaire de vérifier toute la colonne. Ça allonge la durée de traitement.

Gigantesque,

Sincèrement merci beaucoup, tout est clair.

Merci encore une fois,

Bonne soirée,

Thomas

Rechercher des sujets similaires à "afficher masquer colonnes"