Microsoft 365 sélection 1ère ligne vide sans annuler le filtre

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir à toutes et à tous,

Malgré mes recherches et tentatives, je n'arrive pas à résoudre mon besoin suivant,
Le contexte :
Je filtre en sélectionnant un critère "cellule A3". Pour l'exemple, j'ai 240 lignes au total.
Mon besoin
Sélectionner la ligne après la dernière ligne NON VIDE, c’est-à-dire à partir de la ligne 241
en gardant les lignes filtrées SANS ANNULER LE FILTRAGE
Je ne suis pas certain que ce soit possible !
Auriez-vous la solution ? ça m'arrangerait bien 🙂
Je joins un fichier test.
Avec mes remerciements,
Je vous souhaite une belle journée,
Amicalement,
lionel
 

Pièces jointes

Bonjour,

Je ne pige pas bien le truc, mais tu peux essayer quelque chose comme ceci :

ActiveSheet.Range("A" & Rows.Count).End(xlUp).Select
Application.SendKeys ("{DOWN}")


ou

ActiveSheet.Range("A5").End(xlDown).Select
Application.SendKeys ("{DOWN}")
 
bonsoir

VB:
 With ActiveSheet.Range("blablabla")
        .AutoFilter Field:=1, Criteria1:=trucbidule
        .Cells(.Cells.Count).Offset(1).Select
    End With

et si c'est post traitement (en dehors de la macro filter)
VB:
With Worksheets(1).AutoFilter.Range: .Cells(.Cells.Count).Offset(1).Select: End With
épicétou 😉
 
Dernière édition:
Bonjour le fil

[Confinement- jour 1]
VB:
Sub Confi_ture1(Optional Covid19MakeMeDumb)
With ActiveSheet
pf = Split(.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Address, "$")
MsgBox pf(UBound(pf)) + 1
End With
End Sub
Reste la question du pourquoi de la chose
Si on applique un filtre, pour chercher une cellule qui ne réponds pas au critère du filtre, c'est qu'elle n'a intrinsèquement pas d’intérêt puisque non filtrée, non ?
[/Confinement - jour 1]
 
Bonjour Marcel, Patrick, JM, le Forum,

Merci à vous pour m'avoir répondu 🙂
@Marcel32
Tes codes sélectionnent bien la 1ère ligne vide (241) cellule A ... mais lol, je voudrais écrire dans la cellule A241 et ça écrit dans la dernière ligne filtrée
@patrick ... pareil

JM
Ton code m'affiche un msg avec le chiffre 175 qui ne correspond pas à la ligne à atteindre et ce n'est pas un msg dont j'ai besoin mais de la sélection de A241 en gardant les lignes filtrées.
PS : c'est qu'elle n'a intrinsèquement pas d’intérêt puisque non filtrée, non ? : ce serait trop long à expliquer mais SI, dans mon procès, le filtrage est bon et doit être conservé. Et il me faut atteindre et écrire dans la 1ère ligne dans NON vide (filtrage maintenu).

Je remets le fichier test à jour de vos codes 🙂
Je continue mes recherches.
lionel 🙂
 

Pièces jointes

Dernière édition:
Re

Un barbatruc (ce que tu es) sait qu'une MsgBox sert souvent pour faire des tests.
Un barbatruc saura donc adapter le code en conséquence 😉
Un barbatruc sait aussi lire entre les lignes 😉
(Et aura par exemple remarqué le nom que j'ai donné à ma macro 😉)
 
Re,

•>Arthour973
Voici pourquoi je trouve 17
(et si on prend cette exemple , tu aurais voulu 28, non ?)
[Confinement - jour 1 - m5]
VB:
Sub CaptainSayWhat()
[A1:D1].Formula = "=""ITEM_""&COLUMN()": [A2:D27] = "=ROW()*COLUMN()"
[A1].CurrentRegion = [A1].CurrentRegion.Value
[C8:C16] = 1600
ActiveSheet.Range("$A$1:$D$27").AutoFilter Field:=3, Criteria1:="1600"
End Sub
Sub Confi_ture1(Optional Covid19MakeMeDumb)
With ActiveSheet
pf = Split(.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Address, "$")
MsgBox pf(UBound(pf)) + 1
End With
End Sub
[/Confinement - jour 1 - m5]
A tester sur une feuille vierge en lançant d'abord la première macro.
 
JM, avec toi c'est trop compliqué et trop de "parlottes" 🙂
Je n'ai pas le temps, même maintenant, de philosopher (sur un barbatruc), et d'expliquer les raisons de mon besoin ...... de faire des tests sur fichiers vierges etc....

J'ai, je crois, émis un besoin clairement expliqué avec un fichier test à l'appui sur lequel je travaille !
🙂
PS : en toute amitié je te précise que tu n'es pas obligé de répondre à mes demandes 🙂
lionel,
 
Dernière édition:
Re

Avant de sortir tes piques inutiles, lis le message#7
et fais ce simple test

PS: Je te ne réponds pas à tes demandes.
Je réponds à une question telle que je l'ai interprétée. Ni plus, ni moins.


[en toute amitié]
Et pour les caca nerveux, il y a les MP 😉
[en toute amitié]
 
Re,

•>arthour973
Je ne réponds pas à la question
Mais je poste juste une suggestion (j'ai le droit?)
En théorie, ceci devrait suffire, non ? 😉
[Confinement - jour 1 - m6]
VB:
Sub critere1()
If [a3] <> "" Then Rows(4).AutoFilter 1, [a3].Value2
End Sub
[/Confinement - jour 1 - m6]
 
Re-Bonjour JM,
Merci pour ton code post #10
Il fonctionne et c'est super si on sélectionne en A3 "OK RdV Bientôt"
Malheureusement, ça ne fonctionne plus si on sélectionne un autre texte ou ça écrit trop bas.
Il faudrait que ça écrive toujours sur la ligne 241, quel que soit le texte sélectionné.
Mais merci vraiment pour ce code c'est déjà une belle avancée 🙂
Je remets le fichier avec ton code et je continue mes recherches en partant de ton code auquel je ne comprends rien lol
lionel,
PS : t'as quand même bien fait de me répondre et je t'en remercie 🙂
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
13
Affichages
775
Retour