comment lorsqu'un filtre est activé demander à excel de selectionner la ligne du dessous
4 réponses
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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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
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.
Merci
Je vais tester
"anonymous@fr" <anonymous@discussions.microsoft.com> a écrit dans le message
de news: 91A06074-CA33-4E17-8B76-274CE0709614@microsoft.com...
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)
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.
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.
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" <michel.b@wanadoo.fr> a écrit dans le message de news:
40d6db8d$0$23909$79c14f64@nan-newsreader-05.noos.net...
Merci
Je vais tester
"anonymous@fr" <anonymous@discussions.microsoft.com> a écrit dans le
message
de news: 91A06074-CA33-4E17-8B76-274CE0709614@microsoft.com...
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)
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.
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
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
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