Valeur de la derniere cellule d'une colonne

Bonjour,
J’ai 120 fichiers, la valeur à chercher est la valeur de la dernière cellule de la colonne V.
Le problème que le nombre de ligne de ces fichiers sont différent.
Par exemple on a le nom des fichiers sources suivants: 01001, 04001; 07001
Si on a le résultat pour 01001, on modifie seulement la liaison pour 04001 (modifier 01001 par 04001) et on obtient le résultat et ainsi de suite.
A noter que les résultats sont dans un fichier à part nommé consolidation.
Est-ce que c’est faisable pour une formule?
Merci à vous!

Bonjour,

Par formule NON, c’est VBA pour ouvrir /copier/coller/refermer etc…

echerche et copie de la dernière cellule remplie d’une colonne ou ligne (ou la seule valeur qui est remplie dans la plage ciblée):
=RECHERCHE(9^9;Champ colonne)
Exemple:
=RECHERCHE(9^9;I79:I87)
ne pas oublier la gestion des erreurs pour éviter d’avoir un message style #NA ou autre avec SIERREUR:

=SIERREUR(RECHERCHE(9^9;I79:I87);"")

Recherche dans la colonne de I79 à I87 et affiche la valeur de la dernière celulle écrite

Exemple de formule qui renvoie la dernière valeur numérique de la ligne 1

=RECHERCHE(9^9;1:1)

Pour le dernier texte, ça sera :

=RECHERCHE(“zz”;1:1)

Exemple de formule qui renvoie la dernière valeur numérique de la Colonne A

=RECHERCHE(9^9;A:A)

Pour le dernier texte, ça sera :

=RECHERCHE(“zz”;A:A)

Cela fonctionne aussi en sélection de ligne et non colonne :

=RECHERCHE(9^9;K79:L79)

Recherche sur la ligne de K79 à L79 la dernière valeur enregistré

Exemple avec option de calculs:

=SIERREUR((RECHERCHE(9^9;F61:BB61)-D61);"")
je recherche la dernière valeur rencontrée de F61 à BB61 que je soustrait à la valeur présente en D61 (si il y à une erreur on affiche rien avec l’option SIERREUR au début de la fourmule et en fin avec ;"")

autres possibilités :

=INDEX(colonne;EQUIV(9^9;colonne;1)) ce qui donne :
=INDEX(X45:X53;EQUIV(9^9;X45:X53;1))

Fonctionne aussi pour une ligne entière d’une colonne :
=INDEX(ligne;EQUIV(9^9;ligne;1)) ce qui donne :
=INDEX(T45:X45;EQUIV(9^9;T45:X45;1))

Autre formule:
=DECALER(premier celulle de la colonne impactée;EQUIV(9^9;colonne;1)-1;:wink: ce qui donne :
=DECALER(X45;EQUIV(9^9;X45:X53;1)-1;:wink: la colonne commence en X45 et va jusqu’a X53

Si on a, à la fois du texte et des nombres (matricielle, à valider par ctrl+maj+entrée.):
=INDIRECT(ADRESSE(MAX((plage<>"")*LIGNE(plage));COLONNE(plage))) exemple pour la plage de X55 à X58 :

=INDIRECT(ADRESSE(MAX((X55:X58<>"")*LIGNE(X55:X58));COLONNE(X55:X58))) le il va afficher la veleur qu’il rencontre peut importe si c’est du texte ou chiffre. matricielle, à valider par ctrl+maj+entrée.
ne pas oublier d utiliser la gesrtion d’erreurs avec SIERREUR avec celle du sessus ça ferai :

=SIERREUR(INDIRECT(ADRESSE(MAX((X55:X58<>"")*LIGNE(X55:X58));COLONNE(X55:X58)));"")

1 J'aime

Bonjour Richard,
Merci beaucoup pour le support que tu a donné.
Cordialement,

de rien je suis pas un expert mais si on peut aider ! :wink:

Bonjour Richard,
Pour mon cas initial, quelle est donc la formule à utiliser?
Merci

ça dépend si c’est des chiffres colonne donc V :
=RECHERCHE(9^9;V:V)

Si c’est du texte :
=RECHERCHE(“zz”;V:V)

Ou si la colonne Commence en V1 jusqu’à V53 par ex avec des chiffres:
=DECALER(V1;EQUIV(9^9;V1:V53;1)-1

Si tu as des chiffres ou des nombres il faut utiliser la formule matricielle qui se valide avec CTRL MAJ ENTREE (ici colonne de V1 à V58):
=SIERREUR(INDIRECT(ADRESSE(MAX((V1:V58<>"")*LIGNE(V1:V58));COLONNE(V1:V58)));"")

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.