Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro : Cacher ligne si ....

2 réponses
Avatar
Françoise
Bonjour à tous,

Quelqu'un peut il m'aider ?
Je souhaite mettre en place une macro qui dise :
Quand la cellule D de la ligne = "NEANT"
Alors cache toute la ligne
et ce jusqu'au bout du fichier
J'ai écrit la macro suivante :
---
Sub(CacheLigne)

Dim Rg As Range

With Worksheets("TOUS")
Range("E2").Select

Set Rg = .Range("E2:E" & .Range("E65536").End(xlUp).Row)
End With

Do Until ActiveCell = ""
If ActiveCell = "NEANT" Then
Selection.EntireRow.Hidden = True
Else
ActiveCell.Offset(1, 0).Range("A1").Select
End If
Loop
End Sub
-------
La macro s'éxécute sur la première ligne où elle trouve la cellule D =
"neant" mais ensuite reste bloquée et ne fait plus rien
--- D'avance merci pour votre aide précieuse----
Françoise

2 réponses

Avatar
AV
Pourquoi n'utilises-tu pas un filtre personnalisé ?
Beaucoup plus rapide que n'importe quelle boucle !

AV
Avatar
ChrisV
Bonjour Françoise,

Sub zaza()
Dim c As Range
Application.ScreenUpdating = False
For Each c In Worksheets("TOUS").Range("D2:D" & [D65536].End(xlUp).Row)
If c Like "NEANT" Then c.EntireRow.Hidden = True
Next c
End Sub


ChrisV


"Françoise" a écrit dans le message de
news:
Bonjour à tous,

Quelqu'un peut il m'aider ?
Je souhaite mettre en place une macro qui dise :
Quand la cellule D de la ligne = "NEANT"
Alors cache toute la ligne
et ce jusqu'au bout du fichier
J'ai écrit la macro suivante :
---
Sub(CacheLigne)

Dim Rg As Range

With Worksheets("TOUS")
Range("E2").Select

Set Rg = .Range("E2:E" & .Range("E65536").End(xlUp).Row)
End With

Do Until ActiveCell = ""
If ActiveCell = "NEANT" Then
Selection.EntireRow.Hidden = True
Else
ActiveCell.Offset(1, 0).Range("A1").Select
End If
Loop
End Sub
-------
La macro s'éxécute sur la première ligne où elle trouve la cellule D > "neant" mais ensuite reste bloquée et ne fait plus rien
--- D'avance merci pour votre aide précieuse----
Françoise