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

Usine à gaz

XLDnaute Barbatruc
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

  • filtre_test.xlsm
    32.8 KB · Affichages: 8

TooFatBoy

XLDnaute Barbatruc
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}")
 

patricktoulon

XLDnaute Barbatruc
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:

Staple1600

XLDnaute Barbatruc
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]
 

Usine à gaz

XLDnaute Barbatruc
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

  • filtre_test.xlsm
    34.8 KB · Affichages: 4
Dernière édition:

Staple1600

XLDnaute Barbatruc
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 ;))
 

Staple1600

XLDnaute Barbatruc
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.
 

Usine à gaz

XLDnaute Barbatruc
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:

Staple1600

XLDnaute Barbatruc
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é]
 

Staple1600

XLDnaute Barbatruc
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]
 

Usine à gaz

XLDnaute Barbatruc
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

  • filtre_test_JM.xlsm
    35.5 KB · Affichages: 1

Discussions similaires

Réponses
10
Affichages
596

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 105
dernier inscrit
Joffrette