Obtenir facilement la dernière ligne et/ou colonne non vide d'une plage

Pour écrire et partager des tutoriels et des astuces (Excel, Calc et Google Sheets uniquement)
S
SylvainBu
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 3 avril 2019
Version d'Excel : 2010 FR

Message par SylvainBu » 3 avril 2019, 12:44

Bonjour,

Je suis nouveau sur ce forum et ne sais pas si cette astuce a déjà été publiée (désolé si c'est le cas, ma recherche infructueuse de cette publication est peut-être liée à mon inexpérience ici...), alors je vous la donne en l'état. Elle est certainement perfectible, alors n'hésitez pas à la commenter et à la corriger si besoin.

Je recherchais un moyen simple d'afficher dans une cellule d'Excel la dernière ligne ou colonne non vide d'une plage de données, le but au final étant de pouvoir reconstituer des adresses complètes à partir de ces informations avec la fonction INDIRECT. Je souhaitais aussi que la solution soit dynamique et que la valeur retournée se mette à jour automatiquement en cas de modification de la plage testée.

J'ai obtenu le résultat attendu avec les fonctions matricielles. Ainsi, pour obtenir la dernière ligne non vide de la colonne A par exemple, j'ai utilisé la formule suivante (à valider avec CTRL+SHIFT+ENTER et non simplement avec ENTER) :
=MAX(SI((A:A)<>"";LIGNE((A:A))))
Il est évidemment possible d'adresser un autre fichier que celui où vous saisissez la formule :
=MAX(SI(('C:\Users\sylvburg\Documents\Professionnel\R\bridge_marge\output_files\[bridge_marge_fichier01.xlsx]Sheet1'!A:A)<>"";LIGNE(('C:\Users\sylvburg\Documents\Professionnel\R\bridge_marge\output_files\[bridge_marge_fichier01.xlsx]Sheet1'!A:A))))
De la même manière, la formule à utiliser pour trouver la dernière colonne non vide de la ligne 1 devient :
=MAX(SI((1:1)<>"";COLONNE(1:1)))
Et pour tester un autre fichier que celui où vous saisissez la formule :
=MAX(SI(('C:\Users\sylvburg\Documents\Professionnel\R\bridge_marge\output_files\[bridge_marge_fichier01.xlsx]Sheet1'!1:1)<>"";COLONNE(('C:\Users\sylvburg\Documents\Professionnel\R\bridge_marge\output_files\[bridge_marge_fichier01.xlsx]Sheet1'!1:1))))
Vous pouvez aussi limiter la plage testée, ici par exemple je teste la dernière cellule non vide de la ligne 1
pour les colonnes entre A et E :
=MAX(SI((A1:E1)<>"";COLONNE((A:E))))
Et vous pouvez évidemment tester d'autres valeurs que les non vides; ici je retourne la dernière ligne où je trouve en colonne A une chaîne de caractères commençant par "FSTAT" :
=MAX(SI(GAUCHE(A:A;5)="FSTAT";LIGNE((A:A))))
Voir le fichier ci-joint pour les exemples, en espérant que cela en aide certains.

A+
LCMinMax.xlsx
(11.41 Kio) Téléchargé 55 fois
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'674
Appréciations reçues : 322
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 7 mars 2020, 15:17

Bonjour,

bientôt un an que le sujet est ouvert, et je ne le vois qu'aujourd'hui !
Moi je dis merci pour ce partage, en y réfléchissant bien j'aurais peut-être trouvé à le faire, mais là j'avoue en avoir eu besoin pour des formules sans pour autant avoir trouvé "si simple".

Merci encore, je me le sauvegarde sur mon PC afin de m'y replonger à l'occasion !
Il est vrai que c'est une donnée que nous cherchons souvent à avoir, souvent en VBA, mais là sans VBA cela me convient également !

@ bientôt

LouReeD
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
S
SylvainBu
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 3 avril 2019
Version d'Excel : 2010 FR

Message par SylvainBu » 8 mars 2020, 10:17

Bonjour LouReed,

Merci pour votre retour, j'avais oublié ce vieux post. :wink:

C'est vrai que c'est une solution très pratique couplée à la fonction INDIRECT pour reconstituer des adresses de plages automatiquement. Je l'utilise beaucoup depuis que j'ai trouvé cette solution.

Content d'avoir pu aider. :wink:

@+
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'406
Appréciations reçues : 672
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 8 mars 2020, 10:40

Bonjour,
@LouReeD,
Pour tes soirées au coin du feu… ;;)
Fonctions Adresse & Cellule.xlsx
(11.52 Kio) Téléchargé 24 fois
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'674
Appréciations reçues : 322
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 15 mars 2020, 22:18

Bonsoir,

je n'ai pas de feu, ni de coin, mais j'aime bien ce fichier ! :-)

Merci pour le partage, je le met de coté pour de futurs réponses sur le forum ! :lol:
Je continuerai ainsi à passer pour un dieu des formules d'Excel ! 8[] :mrgreen: :P

@ bientôt

LouReeD
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message