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

comment lorsqu'un filtre est activé demander à excel de selectionner la ligne du dessous

4 réponses
Avatar
Help ME
Bonjour
J'ai donc un filtre activé et je souhaite demander à excel de selectionner
la ligne affichée du dessous qui peut donc être 300 lignes au dessous ou
autre...
la fonction d'origine est
.Offset(1, 0).Select

mais cela ne prend pas en compte le filtre

Merci de votre aide

Michel

4 réponses

Avatar
anonymous
lastline est une valeur que tu as rentrée ou calculée pour te donner la dernière ligne de tes données. Il s'agit de la totalité des données pas seulement la plage après filtrag

p.e, tu pourrais écrire si on considère que la 1ere ligne de l'ensemble de tes données non filtrées est la ligne 2

Set plagevisible = Range(Cells(2, ActiveCell.Column), Cells(lastline, ActiveCell.Column)).SpecialCells(xlCellTypeVisible

plagevisible(0, 1).Selec

bon courage
Avatar
Help ME
Merci
Je vais tester
"" a écrit dans le message
de news:
lastline est une valeur que tu as rentrée ou calculée pour te donner la
dernière ligne de tes données. Il s'agit de la totalité des données pas

seulement la plage après filtrage

p.e, tu pourrais écrire si on considère que la 1ere ligne de l'ensemble de
tes données non filtrées est la ligne 2.


Set plagevisible = Range(Cells(2, ActiveCell.Column), Cells(lastline,
ActiveCell.Column)).SpecialCells(xlCellTypeVisible)


plagevisible(0, 1).Select

bon courage.





Avatar
Help ME
Hello
Merci de la réponse
Je n'arrive par contre pas à l'adapter à la macro suivante qui a comme
objectif de mettre la ligne courante en couleur, puis mettre "OK" dans la
colonne suivante, puis aller à la ligne suivante colonne (-1)...et c'est là
que je souhaitais lui dire ligne suivante colonne(-1) mais valable y compris
quand la ligne est filtrée.

Merci de ton aide
Michel

Sub colorok()
With ActiveCell
Rows(.Row).Interior.ColorIndex = 6
.Offset(0, 1) = "OK"
.Offset(1, 0).Select
End With
End Sub

"Help ME" a écrit dans le message de news:
40d6db8d$0$23909$
Merci
Je vais tester
"" a écrit dans le
message

de news:
lastline est une valeur que tu as rentrée ou calculée pour te donner la
dernière ligne de tes données. Il s'agit de la totalité des données pas

seulement la plage après filtrage

p.e, tu pourrais écrire si on considère que la 1ere ligne de l'ensemble
de


tes données non filtrées est la ligne 2.

Set plagevisible = Range(Cells(2, ActiveCell.Column), Cells(lastline,
ActiveCell.Column)).SpecialCells(xlCellTypeVisible)


plagevisible(0, 1).Select

bon courage.









Avatar
anonymous
Tu essayes de faire quelque chose qu'Excel ne peut pas interpréter comme autre chose que : "mets toi sur la ligne suivante par rapport à la cellule active et selectionnes la !". Or comme Excel est bien fait, dans sa mémoire interne, la ligne suivante est la ligne physiquement suivante et pas la ligne filtrée suivante.
Pour le faire aller sur la ligne suivante filtrée, il faut utiliser plagevisible telle que définie dans ma 1ere réponse et une boucle du style suivant

Dim c as rang

For Each c In plagevisibl
With
Rows(.Row).Interior.ColorIndex =
.Offset(0, 1) = "OK
End Wit

Nex

D'un autre côté si tu ne souhaites selectionner qu'une partie des élements filtrés, le nombre de lignes visibles de plagevisible peut être obtenu par la commande plagevisible.coun
ensuite, tu peux atteindre une cellule parmi cet ensemble en désignant l'index de la collection

p.e plagevisible(12).select te fera acceder à la cellule de la 12eme ligne de ta plage visible si ta plage visible possede evidemment au moins 12 élements

J'espère avoir répondu à ta questio