Extraire des données sont la position est aléatoire

Solen

XLDnaute Nouveau
Bonjour à vous qui me lisez,

Et merci d'avance à ceux d'entre vous qui prendront le temps de se pencher sur mon problème.
Il y a une version courte et une version longue.

VERSION COURTE
Quelqu'un peut-il m'indiquer une formule dont le résultat est la dernière valeur apparaissant dans la colonne K (la dernière valeur signifiant la valeur tout en bas de la colonne) ? Sachant qu'en fonction du fichier, la position de cette valeur est différente (ex : K50 ou K23, ou K8). Voir exemple en PJ.


VERSION LONGUE
j'ai environ 1000 fichiers de données créés par un logiciel d'analyse de mouvements (2 exemples en PJ).
De ces fichiers, je souhaite extraire 1 seule donnée : la dernière donnée de la colonne K.
Jusque là, pas compliqué, je crée les chemins qui récupèrent la donnée dans mes 1000 fichiers et le tour est joué.

La 2ème étape un peu plus compliquée, c'est que la dernière case remplie de la colonne K est à une position différente pour chaque fichier. J'ai donc une formule qui fonctionne qui est
"si la case Kx est vide alors extraire celle juste au dessus"
= SOMMEPROD(SI(C:/chemin '!K10="";'!K9;SI(C:/chemin '!K9="";'!K8)))
je l'ai déjà fait et ça a marché. Mais la dernière colonne était entre K15 et K8 donc c'était rapide.

Mais là j'ai un problème car la position de cette fameuse case en colonne K peut-être entre la ligne 8 et la ligne 50 : (voir les 2 exemples en PJ). J'ai tenté la formule précédente (y en a qu'on peur de rien) mais Excel me dit qu'elle dépasse le nombre autorisé de caractères (parce qu'en plus mes fichiers sont au fin fond de plusieurs dossiers donc les chemins sont hyper longs...)

La question est : existe-il une formule qui soit "trouver la dernière case contenant une valeur dans la colonne K" ? Je me débrouillerai pour la faire passer en SOMMEPROD ou un truc dans le genre.

merci de votre aide.
J'espère avoir été claire, ce qui n'est jamais très facile...

Solen
 

Pièces jointes

  • Sujet4_B_17.xlsx
    12.2 KB · Affichages: 37
  • Sujet4_B_26.xlsx
    9.5 KB · Affichages: 34

Abel

XLDnaute Accro
Re : Extraire des données sont la position est aléatoire

Bonjour Solen,

Si tes fichiers ont tous la même structure, le numéro de la dernière ligne est nvbal(a:a).

Sinon, EQUIV("";A:A;-1) donne aussi la position de la première cellule vide.

Ou encore ADRESSE(EQUIV("";A:A;-1);11) reconstruit l'adresse de la position de la dernière ligne de la colonne K.

Je n'ai pas testé l'imbrication avec tes formules.

Abel.
 

Solen

XLDnaute Nouveau
Re : Extraire des données sont la position est aléatoire

Merci Abel, pour ton attention à ma question et tes réponses !
Merci pour les 3 options, l'ADRESSE (EQUIV... est la meilleure pour ce que je veux faire.

Il me reste à fignoler l'imbrication, c'est souvent un peu long mais ça finit toujours par marcher.

MERCI encore !

Solen
 

Modeste geedee

XLDnaute Barbatruc
Re : Extraire des données sont la position est aléatoire

Bonsour®
Bonjour Solen,

Si tes fichiers ont tous la même structure, le numéro de la dernière ligne est nvbal(a:a).
:confused: a condition qu'il n'y ai pas de cellule vide depuis la ligne 1
cela donne l'information pour la colonne A !!!
la colonne K peut contenir plus ou moins de cellules documentées que la colonne A

Sinon, EQUIV("";A:A;-1) donne aussi la position de la première cellule vide.
:confused: cette écriture (-1) suppose que la colonne est triée decroissante
Ou encore ADRESSE(EQUIV("";A:A;-1);11) reconstruit l'adresse de la position de la dernière ligne de la colonne K.
Abel.

:confused:
remarques identiques


une proposition avec une fonction personnalisée à inscrire dans un module standard :
( Alt F11 > insertion Module> coller le code ci-dessous

utilisation :
=dernierVal("K")


Code VB:
Function dernierVal(col As String)
'-------------- si l'on veut la valeur
dernierVal = Cells(Range(col & ":" & col).Rows.Count, col).End(xlUp)
'-------------- si l'on veut l'adresse
'dernierVal = Cells(Range(col & ":" & col).Rows.Count, col).End(xlUp).Address
End Function
 

Abel

XLDnaute Accro
Re : Extraire des données sont la position est aléatoire

Bonjour le fil, le forum,

Modeste, je suis d'accord avec toi pour les cellules vides.
Je partais du principe que la colonne A est l'équivalent d'une clé primaire et donc systématiquement remplie.

Les fonctions données n'étaient que des pistes.
Sinon, effectivement, le plus adapté parait la fonction personalisée si on est pas sûr du remplissage des cellules, tri, etc.

Abel.
 

Discussions similaires

Réponses
7
Affichages
350

Statistiques des forums

Discussions
312 216
Messages
2 086 348
Membres
103 194
dernier inscrit
rtison