Masquer une ligne dont une cellule contient un pourcentage

TiteFleur33 -  
eriiic Messages postés 24581 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

4 réponses

  1. 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
  2. Gyrus Messages postés 3360 Statut Membre 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
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
  4. 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
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      On a écrit en même temps, tu as raté ma proposition avec case à cocher.
      eric
      0