Afficher la dernière valeur d'une colonne obtenu par formule

Bonjour,

je souhaite afficher la dernière valeur d'une colonne dont les valeurs sont elles-mêmes obtenu avec une formule de calcul

ex:

j'ai une valeur en J5 grâce à une formule basique =J3+E5-F5 (formule répété à chaque ligne avec ces valeurs décalé en conséquence)

Ensuite j'affiche dans une cellule quelconque la dernière valeur de la colonne J, j'utilise la fomule =INDEX(J:J;NBVAL(J:J);1)

Le problème c'est que cette formule fonctionne bien pour des valeurs numérique rentré à la main mais quant elle sont obtenue avec la première formule de calcul, on obtient alors une valeur incorrect (qui sort de nul d'ailleurs).

Comment puis-je là modifier pour quelle tienne compte de la première formule de calcul, svp ?

merci

Bonsoir

Juste une question

Ta colonne J est rempli depuis la ligne 1 ?

Bonjour,

non elle démarre en J2, j'ai mis J:J pour simplifier dans le post. Il y a aussi des espaces vides dans la colonne J d'où l'utilisation de la formule matricielle.

Bonjour,

Avec une fonction personnalisée ?

Copier ce code dans un module général

Public Function DerValue()
Dim DerLig As Long
    Application.Volatile
    DerLig = Cells(65536, "J").End(xlUp).Row
    DerValue = Cells(DerLig, "J")
End Function

Dans la cellule où tu veux le résultat.. =DerValue()

Il faut sauver le classeur en xlsm (avec macro)

A+

Bonjour

yeager a écrit :

l'utilisation de la formule matricielle

Laquelle ?

yeager a écrit :

non elle démarre en J2, j'ai mis J:J pour simplifier dans le post. Il y a aussi des espaces vides dans la colonne J

C'est pour cela que ta formule retourne une valeur erronée

Par formule utilises (pour des nombres exclusivement)

=RECHERCHE(9^9;J:J)
Banzai64 a écrit :

Laquelle ?

celle-ci:

=INDEX(J$2:J$65536;NBVAL(J$2:J$65536);1)

C'est pour cela que ta formule retourne une valeur erronée

non j'ai bien préciser "pour le post", voir ci-dessus pour la version complète

Par formule utilises (pour des nombres exclusivement)

=RECHERCHE(9^9;J:J)

elle fonctionne seulement si il n'y a pas d'espace, je vous joins une capture de mon fichier pour vous donner une idée

lermitte

merci mais je préfèrerai utiliser des formules plus simple, je ne suis pas le seul à utiliser le fichier.

Bonjour

C'est sur qu'avec les formules je ne suis pas copain/copain

Pour moi

=INDEX(J$2:J$65536;NBVAL(J$2:J$65536);1)

N'est pas une formule matricielle

Mais celle-ci oui

{=INDEX(J$2:J$65536;NBVAL(J$2:J$65536);1)}

Les deux formules donnent le même résultat

yeager a écrit :

elle fonctionne seulement si il n'y a pas d'espace

As tu essayé ?

Parce qu'avec Excel 2003 cette formule me retourne la dernière valeur de la colonne J, même si dans celle-ci, j'ai des espaces

Mais bon peut-être que je m'y prend mal

A la place de l'image, joins un fichier anonymisé

Bonjour

L'exemple

Cordialement

701classeur1.xls (14.50 Ko)

Voici mon fichier

effectivement chez toi ça marche je comprends pas

343formule.zip (8.99 Ko)

Bonjour

Dans ton fichier, la dernière cellule remplie est J182 qui est égale à 0

remplace

=INDIRECT(ADRESSE(MAX(($J$2:$J$65241<>[color=#BF0000]""[/color])*(LIGNE($J$2:$J$65241)));COLONNE($J$2:$J$65241)))

par

=INDIRECT(ADRESSE(MAX(($J$2:$J$65241<>[color=#FF0000]0[/color])*(LIGNE($J$2:$J$65241)));COLONNE($J$2:$J$65241)))

Cordialement

Merci amadéus ça fonctionne.

Par contre j'ai besoin de mettre cette formule dans un tableau qui se trouve sur une 2ème feuille, j'ai donc mis :

=INDIRECT(ADRESSE(MAX(('Journal bancaire'!$J$2:$J$65241<>0)*(LIGNE('Journal bancaire'!$J$2:$J$65241)));COLONNE('Journal bancaire'!$J$2:$J$65241)))

et là il me retourne 0, c'est bien comme cela que l'on précise la feuille normalement?

Bonsoir

Amadéus a écrit :

Dans ton fichier, la dernière cellule remplie est J182 qui est égale à 0

C'est pour cela que la formule que j'avais donnée retournait 0

Cela me rassure

yeager

Dans la réponse, c'est comme dans le cochon, tout est bon....et il faut donc tout lire.

La formule est matricielle et donc être validée avec les 3 touches Ctrl+Maj+Entrée..

Cordialement

Amasdéus,

sympa l'expression je là connaissais pas.

J'avais bien compris que c'était une formule matricielle mais même en validant avec ctrl+maj+entrée j'obtiens 0 (l'accolade apparait bien).

Sur la même feuille ça fonctionne mais dès que je là mets sur une autre ça me retourne 0

Bonjour

Normal car l'adresse renvoyée ne contient pas le nom de la feuille et c'est cette adresse qui est lue SUR LA FEUILLE ACTIVE.

donc:

=INDIRECT("'Journal bancaire'!"&ADRESSE(MAX(('Journal bancaire'!$J$2:$J$65241<>0)*(LIGNE('Journal bancaire'!$J$2:$J$65241)));COLONNE('Journal bancaire'!$J$2:$J$65241);))

Cordialement

impeccable y a plus de soucis

merci pour votre aide

Rechercher des sujets similaires à "afficher derniere valeur colonne obtenu formule"