Masquer une ligne dont une cellule contient un pourcentage

Fermé
TiteFleur33 - 12 mars 2014 à 12:27
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 12 mars 2014 à 13:05
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

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 samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
12 mars 2014 à 12:49
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 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 213
12 mars 2014 à 13:01
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
12 mars 2014 à 13:01
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 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 213
12 mars 2014 à 13:05
On a écrit en même temps, tu as raté ma proposition avec case à cocher.
eric
0