Macro pour masquer des lignes si cellule = 0

FranckS

XLDnaute Nouveau
Bonjour,

Je ne connais pas le VBA mais je m'inspire de ce que trouve sur les forums ou alors j'ai pu demandr souvent votre aide par le passé.

J'ai fait une macro qui masque des lignes si des cellules de la colonne A qui sont égales à 0.
Elle fonctionne très bien mais qui est "longue" à se mettre en oeuvre.
Auriez-vous une idée différente qui ferait la même chose mais plus rapidement afin de gagner en efficacité ?

Voici la macro :

Private Sub ToggleButton1_Click()

For I = 8 To 69 'Ici le nombre le ligne

If Range("A" & I) = 0 Then ' Je teste si la cellule A est vide
Rows(I).Select 'Sélectionne la ligne
End If

If ToggleButton1.Value Then
Selection.EntireRow.Hidden = True 'Masque la ligne
End If

If Not ToggleButton1.Value Then
Selection.EntireRow.Hidden = False 'Affiche la ligne
End If

Next I

For I = 201 To 243 'Ici le nombre le ligne

If Range("A" & I) = 0 Then ' Je teste si la cellule A est vide
Rows(I).Select 'Sélectionne la ligne
End If

If ToggleButton1.Value Then
Selection.EntireRow.Hidden = True 'Masque la ligne
End If

If Not ToggleButton1.Value Then
Selection.EntireRow.Hidden = False 'Affiche la ligne
End If

Next I

For I = 253 To 267 'Ici le nombre le ligne

If Range("A" & I) = 0 Then ' Je teste si la cellule A est vide
Rows(I).Select 'Sélectionne la ligne
End If

If ToggleButton1.Value Then
Selection.EntireRow.Hidden = True 'Masque la ligne
End If

If Not ToggleButton1.Value Then
Selection.EntireRow.Hidden = False 'Affiche la ligne
End If

Next I

If ToggleButton1.Value = True Then
ToggleButton1.Caption = "OF validé"
Else
ToggleButton1.Caption = "Valider OF"
End If

End Sub


Merci d'avance pour votre aide.

Bonne journée,
Franck
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @FranckS,

Essayez (pas testé puisque pas de fichier joint) :
VB:
Private Sub  ToggleButton1 _Click()
Dim xcell, etat As Boolean
   Application.ScreenUpdating = False
   etat = ( ToggleButton1 =True)
   For Each xcell In Range("A8:A69,A201:A243,A253:A267")
      If xcell = 0 Then xcell.EntireRow.Hidden = etat
   Next xcell
    ToggleButton1.Caption = IIf(etat, "OF validé", "Valider OF")
End Sub
 
Dernière édition:

FranckS

XLDnaute Nouveau
Bonjour mapomme,

Ca fonctionne parfaitement : c'est de la bombe ! Désolé, je suis trop satisfait :) . C'est exactement ce qu'il fallait. Bravo et merci pour votre temps.

Pour ceux qui recopieraient la macro, il y a juste un espace à enlever entre ToggleButton1 et .Caption

Merci encore et bonne fin de journée.
Franck
 

Statistiques des forums

Discussions
312 204
Messages
2 086 198
Membres
103 154
dernier inscrit
jefferson6488