OVH Cloud OVH Cloud

Comment supprimer les lignes non triées

11 réponses
Avatar
mobimus
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

10 réponses

1 2
Avatar
LSteph
Re bonjour,

'***
Sub testdr()
For i = [a65536].End(xlUp).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




Avatar
LSteph
...oupss!... sous réserve d'écrire quelque chose "x" à une ligne d'écart en
colonne 1
sous la zone filtrée sinon cela oublie les dernières lignes si elles sont
elle-même filtrées.


"LSteph" a écrit dans le message de news:

Re bonjour,

'***
Sub testdr()
For i = [a65536].End(xlUp).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








Avatar
mobimus
...oupss!... sous réserve d'écrire quelque chose "x" à une ligne d'écart en
colonne 1
sous la zone filtrée sinon cela oublie les dernières lignes si elles sont
elle-même filtrées.


"LSteph" a écrit dans le message de news:

Re bonjour,

'***
Sub testdr()
For i = [a65536].End(xlUp).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








merci pour ta réponse rapide.

Mais j'ai aps compris ta remarque ".... sous réserve ...."



Avatar
LSteph
Re,

"mobimus" @enlever> a écrit dans le message de news:

Mais j'ai aps compris ta remarque ".... sous réserve ...."
Mettons filtre >100

liste
50
400
200
99

liste ( filtrée)
400
200

si on applique la macro et qu'on enlève le filtre:
liste
400
200
99

Alors que si l'on met:
liste
50
400
200
99
(une ligne vide)
xx (<<ici on écrit n'importe)

..plus de pb

Avatar
mobimus
Re,

"mobimus" @enlever> a écrit dans le message de news:

Mais j'ai aps compris ta remarque ".... sous réserve ...."
Mettons filtre >100

liste
50
400
200
99

liste ( filtrée)
400
200

si on applique la macro et qu'on enlève le filtre:
liste
400
200
99

Alors que si l'on met:
liste
50
400
200
99
(une ligne vide)
xx (<<ici on écrit n'importe)

..plus de pb


Ah d'accord, je commprends maintenant :D .

Donc est ce que je dois ajouter une ligne vide ou bien adpater le code?

Si c'est la deuxième solution qu'il fait adopter, comment serait le
code exact?

Encore merci bcp


Avatar
LSteph
Pour solution2, préférable c'est sûr, on cherche!

Pour l'instant précision de solution1:

... et sous la ligne vide en A surtout écrire qqchose car
le pb est que
le xlup ne s'arrête pas sur les cellules masquées ni vides
de même le filtre s'arrêtera à la ligne juste avant la ligne vide

et j'ai essayé aussi avec
Selection.CurrentRegion.SpecialCells(xlCellTypeLastCell).Select
c'est pareil: ne s'arrête pas sur les cellules masquées.


"mobimus" @enlever> a écrit dans le message de news:

Re,

"mobimus" @enlever> a écrit dans le message de news:

Mais j'ai aps compris ta remarque ".... sous réserve ...."
Mettons filtre >100

liste
50
400
200
99

liste ( filtrée)
400
200

si on applique la macro et qu'on enlève le filtre:
liste
400
200
99

Alors que si l'on met:
liste
50
400
200
99
(une ligne vide)
xx (<<ici on écrit n'importe)

..plus de pb


Ah d'accord, je commprends maintenant :D .

Donc est ce que je dois ajouter une ligne vide ou bien adpater le code?

Si c'est la deuxième solution qu'il fait adopter, comment serait le code
exact?

Encore merci bcp






Avatar
LSteph
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




Avatar
mobimus
Pour solution2, préférable c'est sûr, on cherche!

Pour l'instant précision de solution1:

... et sous la ligne vide en A surtout écrire qqchose car
le pb est que
le xlup ne s'arrête pas sur les cellules masquées ni vides
de même le filtre s'arrêtera à la ligne juste avant la ligne vide

et j'ai essayé aussi avec
Selection.CurrentRegion.SpecialCells(xlCellTypeLastCell).Select
c'est pareil: ne s'arrête pas sur les cellules masquées.


"mobimus" @enlever> a écrit dans le message de news:

Re,

"mobimus" @enlever> a écrit dans le message de news:

Mais j'ai aps compris ta remarque ".... sous réserve ...."
Mettons filtre >100

liste
50
400
200
99

liste ( filtrée)
400
200

si on applique la macro et qu'on enlève le filtre:
liste
400
200
99

Alors que si l'on met:
liste
50
400
200
99
(une ligne vide)
xx (<<ici on écrit n'importe)

..plus de pb


Ah d'accord, je commprends maintenant :D .

Donc est ce que je dois ajouter une ligne vide ou bien adpater le code?

Si c'est la deuxième solution qu'il fait adopter, comment serait le code
exact?

Encore merci bcp





Je vois ce que tu veux dire.

Il faut écriré qqch à la dernière ligne, en attendant un code VB adapté




Avatar
LSteph
Ce qui suppose bien évidemment que la matrice en A ne comporte pas de
cellules vides.

"LSteph" 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








Avatar
mobimus
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 :)


1 2