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
Pourquoi n'utilises-tu pas un filtre personnalisé ? Beaucoup plus rapide que n'importe quelle boucle !
AV
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
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" <Franoise@discussions.microsoft.com> a écrit dans le message de
news: BDFB9E51-EB79-4AD4-A675-BF5DC6F1C94C@microsoft.com...
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
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