Macro, masquer les lignes contenant des valeurs définies

Warp -  
Morgothal Messages postés 1350 Statut Membre -
Bonjour,

Je souhaiterai savoir comment créer une macro me permettant de masquer automatiquement des lignes comportants un texte définit.

Exemple

Colonne C, Ligne 15 à 23 chaque cellules comporte le texte "LIGNE A MASQUER"(texte relatif au résultat d'une formule).

Si activation de la macro ces lignes se masque automatiquement sans influencer les autres.

5 réponses

  1. Morgothal Messages postés 1350 Statut Membre 184
     
    Bonjour,
    Voici une macro qui masque les lignes où en colonne C il y a "LIGNE A MASQUER" :

    Sub cacher_lignes()
    Dim ligne, ligne_max As Long
    
    ligne_max = Range("C65536").End(xlUp).Row
    
    For ligne = 1 To ligne_max
        If Cells(ligne, 3) = "LIGNE A MASQUER" Then
            Rows(ligne & ":" & ligne).Select
            Selection.EntireRow.Hidden = True
        End If
    Next
    
    End Sub
    C'est une solution, il y en a sûrement d'autres ;-)
    0
  2. Warp.
     
    une fois que j'essai d'activer la macro il me mentionne "erreur de compilation" avec ce code

    Sub Zonecombinée23_QuandChangement()
    15 cm
    End Sub

    ????
    0
    1. Morgothal Messages postés 1350 Statut Membre 184
       
      Ce doit être du code déjà présent dans ton classeur, essaye de le mettre en commentaires si tu ne sais pas à quoi il sert (en mettant des ' devant les lignes)
      0
    2. Warp.
       
      Cool c'est top!

      Et si "LIGNE A MASQUER" se trouve aussi dans d'autre colonne, peut-on faire analyser les 30 premières colonnes par la macro?
      0
  3. Morgothal Messages postés 1350 Statut Membre 184
     
    Bonjour,
    Comme ceci :
    Sub cacher_lignes() 
    Dim ligne As Long 
    Dim colonne as Integer 
    
    For colonne = 1 To 30 
    For ligne = 1 To Cells(65536, colonne).End(xlUp).Row 
        If Cells(ligne, colonne) = "LIGNE A MASQUER" Then 
            Rows(ligne & ":" & ligne).Select 
            Selection.EntireRow.Hidden = True 
        End If 
    Next 
    Next 
    
    End Sub 


    -------------------
    Cordialement,
    Clément
    0
    1. Warp
       
      Merci beaucoup Clément, passe un bon week end!
      0
    2. Morgothal Messages postés 1350 Statut Membre 184
       
      On est que mardi malheureusement ;-)
      N'oublie pas de marquer le sujet comme résolu si c'est le cas !

      Bonne semaine !
      0
  4. Warp
     
    Merci beaucoup,

    Ca fonctionne à merveille.

    Avant de confirmer la résolution du problème, pourrais-tu me donner le code qui permetterait d'annuler cette action pour que je puisse créer une seconde macro.

    Merci d'avance...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Morgothal Messages postés 1350 Statut Membre 184
     
    Bonjour,
    Sub afficher_lignes() 
    
        Cells.Select
        Selection.EntireRow.Hidden = False
        Range("A1").Select
    
    End Sub  


    Bonne journée !
    0