Autre solution Définir un nom d'abord plage nommée ex: maplage et ainsi: '***** Sub testdr() With Range("maplage") For i = .Rows.Count To 1 Step -1 If .Rows(i).Hidden Then .Rows(i).EntireRow.Delete Next End With End Sub '****
Sinon amha ..(j'ai essayé de rester dans la question telle que posée) une meilleure approche serait toujours d'utiliser une plage nommée (qui reste complète) et surtout d' utiliserait un filtre élaboré pour effectuer une extraction suivant le critère voulu plutôt que de risquer si l'on s'est planté dans le filtrede détruire des lignes utiles par macro. A+
lSteph
"mobimus" @enlever> a écrit dans le message de news:
re, Solution2 '****** Sub testdr() [a65536].End(xlUp).Select Do While Not IsEmpty(ActiveCell.Offset(1, 0)) ActiveCell.Offset(1, 0).Select Loop For i = ActiveCell.Row To 1 Step -1 If Rows(i).Hidden Then Rows(i).Delete Next
End Sub '***
'lSteph "mobimus" @enlever> a écrit dans le message de news:
Bonjour,
J'ai une feuille de calcul où j'ai mis et appliqué un filtre.
En utilisant une macro, je voudrais maintenant supprimer toutes les lignes qui n'ont pas été filtrées.
Merci
Wow!!
Parfait. ça marche impeccablement
Merci bcp :)
Autre solution Définir un nom d'abord plage nommée ex: maplage
et ainsi:
'*****
Sub testdr()
With Range("maplage")
For i = .Rows.Count To 1 Step -1
If .Rows(i).Hidden Then .Rows(i).EntireRow.Delete
Next
End With
End Sub
'****
Sinon amha ..(j'ai essayé de rester dans la question telle que posée)
une meilleure approche serait toujours d'utiliser une plage nommée (qui
reste complète)
et surtout d' utiliserait un filtre élaboré pour effectuer une extraction
suivant le critère
voulu plutôt que de risquer si l'on s'est planté dans le filtrede détruire
des lignes utiles par macro.
A+
lSteph
"mobimus" <musat45@gmail.com@enlever> a écrit dans le message de news:
mn.d3747d5c590d4eb4.43543@enlever...
re,
Solution2
'******
Sub testdr()
[a65536].End(xlUp).Select
Do While Not IsEmpty(ActiveCell.Offset(1, 0))
ActiveCell.Offset(1, 0).Select
Loop
For i = ActiveCell.Row To 1 Step -1
If Rows(i).Hidden Then Rows(i).Delete
Next
End Sub
'***
'lSteph
"mobimus" <musat45@gmail.com@enlever> a écrit dans le message de news:
mn.d3247d5cdca8cbb4.43543@enlever...
Bonjour,
J'ai une feuille de calcul où j'ai mis et appliqué un filtre.
En utilisant une macro, je voudrais maintenant supprimer toutes les
lignes qui n'ont pas été filtrées.
Autre solution Définir un nom d'abord plage nommée ex: maplage et ainsi: '***** Sub testdr() With Range("maplage") For i = .Rows.Count To 1 Step -1 If .Rows(i).Hidden Then .Rows(i).EntireRow.Delete Next End With End Sub '****
Sinon amha ..(j'ai essayé de rester dans la question telle que posée) une meilleure approche serait toujours d'utiliser une plage nommée (qui reste complète) et surtout d' utiliserait un filtre élaboré pour effectuer une extraction suivant le critère voulu plutôt que de risquer si l'on s'est planté dans le filtrede détruire des lignes utiles par macro. A+
lSteph
"mobimus" @enlever> a écrit dans le message de news:
re, Solution2 '****** Sub testdr() [a65536].End(xlUp).Select Do While Not IsEmpty(ActiveCell.Offset(1, 0)) ActiveCell.Offset(1, 0).Select Loop For i = ActiveCell.Row To 1 Step -1 If Rows(i).Hidden Then Rows(i).Delete Next
End Sub '***
'lSteph "mobimus" @enlever> a écrit dans le message de news:
Bonjour,
J'ai une feuille de calcul où j'ai mis et appliqué un filtre.
En utilisant une macro, je voudrais maintenant supprimer toutes les lignes qui n'ont pas été filtrées.