Masquer une ligne dont une cellule contient un pourcentage

TiteFleur33 -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai besoin de votre aide ...
J'ai regardé de nombreux post, mais je n'y trouve malheureusement pas ma réponse.

Je souhaite pouvoir masquer les lignes dont la cellule située dans la colonne K contient "100%".
J'ai saisi la macro suivante, mais elle ne fonctionne pas :

Sub Masquer_lignes()
Dim ligne As Integer

For ligne = 1 To 100
If Cells(ligne, 11) = "100%" Then
Rows(ligne & ":" & ligne).EntireRow.Hidden = True
End If
Next

End Sub

Peut être que je me trompe, mais j'ai l'impression que c'est à cause du format de la cellule ("pourcentage") que cela pose problème car j'ai essayé avec un simple mot comme "Fait" et cela fonctionne très bien (ne me dites pas de changer 100% par Fait, ce n'est pas le but) !

Pouvez-vous m'aider s'il vous plaît, cela me ferait gagner un temps fou !!! :)
Merci d'avance
A voir également:

4 réponses

foo
 
Bonjour

je pense que le poucentage doit etre numerique

Sub Masquer_lignes()
For ligne = 5 To 10
Pour = Val(Cells(ligne, 11) * 100)
If Pour = 100 Then
Rows(ligne).EntireRow.Hidden = True
End If
Next
End Sub

A+

Maurice
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

Essaie avec
Sub Masquer_lignes()
Dim ligne As Integer
For ligne = 1 To 100
If Cells(ligne, 11) = 1 Then
Rows(ligne & ":" & ligne).EntireRow.Hidden = True
End If
Next
End Sub
A+
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour

C'est une valeur numérique que tu recherches.
Et 100% = 1, c'est =1 qu'il faut tester.

Personnellement je verrai mieux une case à cocher. Ce qui permet de ré-afficher ces lignes :
Private Sub CheckBox1_Click()
    Dim ligne As Long, derlig As Long
    For ligne = 2 To Cells(Rows.Count, "K").End(xlUp).Row
        If CheckBox1 Then
            Rows(ligne & ":" & ligne).EntireRow.Hidden = False
        Else
            If Cells(ligne, "K") = 1 Then
                Rows(ligne & ":" & ligne).EntireRow.Hidden = True
            End If
        End If
    Next ligne
End Sub

https://www.cjoint.com/?DCmm7B4DLUT

eric
0
TiteFleur33
 
Merci beaucoup foo et Gyrus !

Je n'ai pas réussi à faire fonctionner la première macro (peut être me suis-je plantée quelque part !!?), par contre la seconde c'est parfait !!

Merciiiiiiiiiiiiiiii :-))

A+
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
On a écrit en même temps, tu as raté ma proposition avec case à cocher.
eric
0