OVH Cloud OVH Cloud

Masquer lignes

8 réponses
Avatar
Thierry
Bonjour à tous

j'aimerai si j'ai le mot "joué" dans les cellules D28 à D100 que toute la
ligne soit masquée.

j'utilise la macro suivante que j'ai trouvée sur le forum

For Each ligne In ActiveSheet.UsedRange.Rows
If ligne.Cells(28, 4).Value = "joué" Then
ligne.EntireRow.Hidden = True
Else
ligne.EntireRow.Hidden = False
End If
Next

Mais cela ne marche, quelqu'un peut il m'expliquer mon erreur

Merci d'avance

Thierry

8 réponses

Avatar
moi et pas lui
Sub Joueracachecache()
For Each ligne In ActiveSheet.UsedRange.Rows
If ligne.Value = "joué" Then
ligne.EntireRow.Hidden = True
Else
ligne.EntireRow.Hidden = False
End If
Next
End Sub

-----Message d'origine-----
Bonjour à tous

j'aimerai si j'ai le mot "joué" dans les cellules D28 à
D100 que toute la

ligne soit masquée.

j'utilise la macro suivante que j'ai trouvée sur le forum

For Each ligne In ActiveSheet.UsedRange.Rows
If ligne.Cells(28, 4).Value = "joué"
Then

ligne.EntireRow.Hidden = True
Else
ligne.EntireRow.Hidden = False
End If
Next

Mais cela ne marche, quelqu'un peut il m'expliquer mon
erreur


Merci d'avance

Thierry


.



Avatar
Thierry
Merci pour ta réponse, mais lorsque j'essai ta macro
Excel me renvoi une erreur "incompatibilité de type" sur la ligne
If ligne.Value = "joué" Then
Je suis toujour demandeur pour une solution

merci

"moi et pas lui" a écrit dans le
message de news: 07dd01c3c89a$66704b60$
Sub Joueracachecache()
For Each ligne In ActiveSheet.UsedRange.Rows
If ligne.Value = "joué" Then
ligne.EntireRow.Hidden = True
Else
ligne.EntireRow.Hidden = False
End If
Next
End Sub

-----Message d'origine-----
Bonjour à tous

j'aimerai si j'ai le mot "joué" dans les cellules D28 à
D100 que toute la

ligne soit masquée.

j'utilise la macro suivante que j'ai trouvée sur le forum

For Each ligne In ActiveSheet.UsedRange.Rows
If ligne.Cells(28, 4).Value = "joué"
Then

ligne.EntireRow.Hidden = True
Else
ligne.EntireRow.Hidden = False
End If
Next

Mais cela ne marche, quelqu'un peut il m'expliquer mon
erreur


Merci d'avance

Thierry


.



Avatar
Daniel.M
Allo Thierry,

j'aimerai si j'ai le mot "joué" dans les cellules D28 à D100 que toute la
ligne soit masquée.


Sub CachePourValeur()
Dim C As Range
For Each C In Range("D28:D100")
If Not IsError(C) Then
If C = "joué" Then
C.EntireRow.Hidden = True
Else
C.EntireRow.Hidden = False
End If
End If
End Sub

Salutations,

Daniel M.

Avatar
Daniel.M
J'avais oublié un Next

Sub CachePourValeur()
Dim C As Range
For Each C In Range("D8:D20")
If Not IsError(C) Then
If C = "joué" Then
C.EntireRow.Hidden = True
Else
C.EntireRow.Hidden = False
End If
End If
Next C
End Sub
Avatar
gilbert
bonjour Thierry

Tu nommes la plage D28 à D100 (ligne)
et dans feuil1 de VBA tu mets le code suivant

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For Each ligne In ActiveSheet.UsedRange.Rows
If ligne.Value = "joué" Then
ligne.EntireRow.Hidden = True
Else
ligne.EntireRow.Hidden = False
End If
Next
End Sub

@+++

"Thierry" a écrit dans le message de news:
3fe6f9cd$0$237$
Bonjour à tous

j'aimerai si j'ai le mot "joué" dans les cellules D28 à D100 que toute la
ligne soit masquée.

j'utilise la macro suivante que j'ai trouvée sur le forum

For Each ligne In ActiveSheet.UsedRange.Rows
If ligne.Cells(28, 4).Value = "joué" Then
ligne.EntireRow.Hidden = True
Else
ligne.EntireRow.Hidden = False
End If
Next

Mais cela ne marche, quelqu'un peut il m'expliquer mon erreur

Merci d'avance

Thierry




Avatar
peut etre for each line et non pas ligne



-----Message d'origine-----
Bonjour à tous

j'aimerai si j'ai le mot "joué" dans les cellules D28 à
D100 que toute la

ligne soit masquée.

j'utilise la macro suivante que j'ai trouvée sur le forum

For Each ligne In ActiveSheet.UsedRange.Rows
If ligne.Cells(28, 4).Value = "joué"
Then

ligne.EntireRow.Hidden = True
Else
ligne.EntireRow.Hidden = False
End If
Next

Mais cela ne marche, quelqu'un peut il m'expliquer mon
erreur


Merci d'avance

Thierry


.



Avatar
Ellimac
Bonjour,

Sub Toto()
For Each c In Range("d28:d" & Range("d65000").End
(xlUp).Row)
If c.Value = "joué" Then c.EntireRow.Hidden = True
Next
End Sub

Camille

-----Message d'origine-----
Bonjour à tous

j'aimerai si j'ai le mot "joué" dans les cellules D28 à
D100 que toute la

ligne soit masquée.

j'utilise la macro suivante que j'ai trouvée sur le forum

For Each ligne In ActiveSheet.UsedRange.Rows
If ligne.Cells(28, 4).Value = "joué"
Then

ligne.EntireRow.Hidden = True
Else
ligne.EntireRow.Hidden = False
End If
Next

Mais cela ne marche, quelqu'un peut il m'expliquer mon
erreur


Merci d'avance

Thierry


.



Avatar
AV
j'aimerai si j'ai le mot "joué" dans les cellules D28 à D100 que toute la
ligne soit masquée.


Autre approche :

Sub zzzz()
[D7:D100].AutoFilter Field:=1, Criteria1:="joué"
With [D8:D100]
.SpecialCells(xlCellTypeVisible).EntireRow.Select '
.AutoFilter
End With
Selection.RowHeight = 0
End Sub

AV