Macro, masquer les lignes contenant des valeurs définies

Fermé
Warp - 10 déc. 2012 à 16:22
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 - 18 déc. 2012 à 09:11
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.



A voir également:

5 réponses

Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
10 déc. 2012 à 16:49
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
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
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
10 déc. 2012 à 17:01
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
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
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
Modifié par Morgothal le 11/12/2012 à 09:46
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
Merci beaucoup Clément, passe un bon week end!
0
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
11 déc. 2012 à 12:58
On est que mardi malheureusement ;-)
N'oublie pas de marquer le sujet comme résolu si c'est le cas !

Bonne semaine !
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
18 déc. 2012 à 09:11
Bonjour,
Sub afficher_lignes() 

    Cells.Select
    Selection.EntireRow.Hidden = False
    Range("A1").Select

End Sub  


Bonne journée !
0