Sélectionner la dernière cellule vide d'une colonne

  • Initiateur de la discussion Initiateur de la discussion jp65
  • Date de début Date de début

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 !

J

jp65

Guest
Bonjour le forum

Voici ma question.
J'ai un tableau dont je veux récupérer le N° de ligne de la dernière cellule vide en basant ma recherche sur la colonne A. Ce tableau est composé de groupes de données identiques, ces groupes étant séparés par des lignes vides.
La ligne vide à sélectionner est donc celle qui précède le dernier groupe de données.
Je joint un fichier pour visualiser ma demande.

Merci pour votre aide
 

Pièces jointes

Re : Sélectionner la dernière cellule vide d'une colonne

Re JP65 le forum
ton fichier en retour avec un message te donnant la ligne, en attendant de savoir ce que tu veux exactement
tu ouvres ton fichier et tu cliques sur une cellule de la feuil1
a+
Papou😱
 

Pièces jointes

Re : Sélectionner la dernière cellule vide d'une colonne

Bonjour Paritec

Merci pour ta réponse si rapide.
J'ai testé ton code et il convient parfaitement à mon besoin.
Le lancement du code ne dépend pas d'un événementiel spécifique mais son résultat va servir à alimenter
le reste du code dans lequel il va être intégré.

Merci encore Paritec

Bonne journée
 
Re : Sélectionner la dernière cellule vide d'une colonne

Bonjour jp65, Papou,

Pas besoin de VBA, cette formule matricielle suffit :

Code:
=MAX((A1:A1000="")*(A2:A1001<>"")*LIGNE(A1:A1000))
A valider par Ctrl+Maj+Entrée.

Adapter le nombre de lignes (1000) si nécessaire.

A+
 
Re : Sélectionner la dernière cellule vide d'une colonne

Re,

Si l'on y tient on peut placer dans un module standard cette fonction VBA :

Code:
Function DerniereLigneVide(colonne As Range)
Dim P As Range, a1$, a2$
Set P = Intersect(colonne.Parent.UsedRange, colonne.EntireColumn)
a1 = P.Address(External:=True)
a2 = P.Offset(1).Address(External:=True)
DerniereLigneVide = Evaluate("MAX((" & a1 & "="""")*(" & a2 & "<>"""")*ROW(" & a1 & "))")
End Function
A utiliser par exemple dans la feuille de calcul par cette formule :

Code:
=DerniereLigneVide(A:A)
A+
 
Re : Sélectionner la dernière cellule vide d'une colonne

Re,

Si l'on ne peut pas s'appuyer sur une colonne (A) déterminée, utiliser SOUS.TOTAL :

Code:
=MAX((SOUS.TOTAL(3;DECALER(A1:J1;LIGNE(A1:J1000)-1;))=0)*SIGNE(SOUS.TOTAL(3;DECALER(A1:J1;LIGNE(A1:J1000);)))*LIGNE(A1:J1000))
Toujours en matriciel.

On peut sans grande difficulté la transcrire en VBA comme précédemment.

A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
584
Réponses
4
Affichages
213
Retour