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 !
Bonjour à tous !
Dans ma colonne A, j'ai des formules, qui renvoient diverses données, ou alors un "" lorsqu'elles ne trouvent pas.
Je cherche un code (ou une astuce avec des formules??) pour me placer sur la cellule juste en dessous de la dernière cellule ne renvoyant pas un "".
En fait, aucune cellule de A n'est réellement "vide", même si elles n'affichent rien, car il y a des formules...
Merci par avance de l'attention portée.
Un petit fichier exemple est joint, plus probant que mes explications je pense....
Je suis persuadé que le sujet a déjà été abordé, mais je n'ai pas réussi à formuler une requête efficace dans mes recherches, je ne trouve pas...
Sub DerLigne()
Dim lig As Long
lig = Evaluate("MAX(SIGN(LEN(OFFSET(A1,,,COUNTA(A:A))))*ROW(OFFSET(A1,,,COUNTA(A:A))))+1")
MsgBox lig 'pour tester
Cells(lig, 1).Select
End Sub
On devrait avoir fait ainsi le tour de la qustion.
Re : Se placer sur la dernière cellule ne renvoyant pas "" (formule)
Bonjour pierrejean, bonjour job75 !
Merci de votre aide, et aussi de la rapidité de vos réponses !
A mon petit niveau, je cherchais surtout à me placer sur la dite cellule, et non pas avoir ces coordonnées, même si c'est sans doute une étape... Et même si les formules matricielles (auxquelles je ne comprends rien pour l'instant) m'intéressent.
En ce point, le fichier de pierrejean "clef en main" est parfait pour moi, encore merci !
Si d'aventure vous auriez quelques instants à m'accorder encore, je cherche le paramètre à modifier (ou ajouter) si je veux sélectionner la ligne entière et non pas la seule cellule... Mais sans doute pourrais-je trouver comment faire en fouillant si vous n'aviez pas le temps, car je ne pense pas que cela soit très compliqué...
La cerise sur le gâteau serait de faire fonctionner le code sur la colonne qui est sélectionnée avant de le lancer (par exemple, si la cellule H5 est sélectionnée, faire la recherche sur la colonne H)...
Copie du code initial de pierrejean :
Code:
Sub select_vide()
For n = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
If Range("A" & n) <> "" Then
Range("A" & n + 1).Select
Exit Sub
End If
Next
End Sub
Avec encore tous mes reconnaissants remerciements à vous deux !
Cordialement,
Re : Se placer sur la dernière cellule ne renvoyant pas "" (formule)
Re,
Je vous ai donné aussi du code VBA 🙂
Le voici adapté à ce que vous voulez faire :
Code:
Sub DerLigne()
Dim plage As Range, lig As Long
Set plage = Intersect(ActiveCell.EntireColumn, Range("A1", ActiveSheet.UsedRange))
On Error Resume Next 'si la colonne est vide
lig = Evaluate("MATCH(99,LN(LEN(" & plage.Address & ")))+1")
Rows(lig).Select
End Sub
Re : Se placer sur la dernière cellule ne renvoyant pas "" (formule)
Re,
Ceci est mieux :
Code:
Sub DerLigne()
Dim plage As Range
On Error Resume Next 'si la colonne est vide
Set plage = Intersect(ActiveCell.EntireColumn, Range("A1", ActiveSheet.UsedRange))
If plage.Count = 1 Then Set plage = plage.Resize(2) 'il faut au moins 2 éléments
Rows(Evaluate("MATCH(99,LN(LEN(" & plage.Address & ")))+1")).Select
If Err Then MsgBox "Colonne vide..."
End Sub
- 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