Masquer les lignes commençant par une valeur x

Résolu/Fermé
HUGO BASS Messages postés 20 Date d'inscription dimanche 11 août 2013 Statut Membre Dernière intervention 18 septembre 2015 - 21 mars 2015 à 10:34
Boisgontierjacques Messages postés 175 Date d'inscription jeudi 19 septembre 2013 Statut Membre Dernière intervention 26 décembre 2018 - 21 mars 2015 à 12:19
Bonjour à toutes et tous,

J'ai récupéré le code ci après qui répond à mes attentes pour masquer les lignes commençant par une valeur x.
Par contre je m'essaye aux macros et je n'arrive pas à adapter le code pour qu'il prenne effet non pas sur les valeurs contenus dans la colonne C mais dans la colonne F.

Auriez vous une solution à me proposer et à m'expliquer ?

Sub masquernew()
For Each ligne In ActiveSheet.UsedRange.Rows
r = ligne.Row
chercheNew = Left(Cells(r, 3), 3)
If chercheNew = "new" Then Cells(r, 3).EntireRow.Hidden = True
Next
End Sub

Merci

Cordialement
Hugues





2 réponses

f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
21 mars 2015 à 10:55
Bonjour,

une facon de faire, peut etre optimiser si vraiment beaucoup de lignes et pourra etre repris pour d'autre(s) feuille(s) en passant des parametres

Sub masquernew()
    Dim plage As Range, derlig As Long, cel As Range
    'code applique a cette feuille meme si autre feuille active
    With Worksheets("feuil1")
        'derniere cellule non vide colonne F
        derlig = .Range("F" & Rows.Count).End(xlUp).Row
        'mise en memoire plage de cellules
        Set plage = .Range("F1:F" & derlig)
        'boucle de recherche
        For Each cel In plage
            If Left(cel, 3) = "new" Then
                'masque ligne
                .Rows(cel.Row).Hidden = True
            End If
        Next cel
    End With
End Sub


A+
1
Boisgontierjacques Messages postés 175 Date d'inscription jeudi 19 septembre 2013 Statut Membre Dernière intervention 26 décembre 2018 64
21 mars 2015 à 12:19
Bonjour,

Sub masquernew()
For Each ligne In ActiveSheet.UsedRange.Rows
r = ligne.Row
chercheX = Left(Cells(r, 6), 1)
If Ucase(chercheX) = "X" Then Cells(r, 6).EntireRow.Hidden = True
Next
End Sub

JB
http://boisgontierjacques.free.fr
0