XL 2010 Résolu par Job75 et JHA : afficher le contenu des cellules de la dernière ligne

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Toujours dans mon fichier de travail, je un nouveau souci que je ne sais pas résoudre malgré mes recherches et essais.
Je me permets, pour la énième fois, de me tourner vers vous pour votre aide si précieuse.

Voici ce que je voudrais faire
En ligne 3
J'ai besoin d'afficher les éléments de chaque colonne pour la dernière ligne saisie
J'ai deux formules qui fonctionnent mais pas pour les cellules F3 et G3
Pour les chiffres : =RECHERCHEV(9^9;A:A;1)
Pour les lettres : =RECHERCHE("zzz";D:D)

Je ne comprends pas pkoi ça marche pas pour ces 2 cellules alors que ce sont les mêmes que pour les autres cellules "nombres"
J'ai également besoin que si l'une des cellules de la dernière ligne est vide, l'affichage soit vide.

Je joins le fichier test (pour ne pas perturber les calculs, j'ai mis mes explications en Feuil2).
Avec mes remerciements déjà pour m'avoir lu,
Bonne fin de journée à toutes et à tous,
Amicalement,
Lionel,
 

Pièces jointes

  • test forum.xlsm
    36.5 KB · Affichages: 40

job75

XLDnaute Barbatruc
Bonjour Lionel,

9^9 est égal à 387420489 qui est inférieur aux valeurs des colonnes F et G.

En conséquence cela crée des références circulaires en F3 et G3.

Utilise donc un nombre assez grand, en E3 à tirer à droite :
Code:
=RECHERCHEV(9^99;E:E;1)
ou plus simplement :
Code:
=RECHERCHE(9^99;E:E)
A+
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Merci Job75, ça marche nickel ;), je n'avais pas pensé à augmenter la puissance.
Il me reste un souci que je n'arrive pas à résoudre :
J'ai également besoin que si l'une des cellules de la dernière ligne est vide, l'affichage soit vide.
Je remets le fichier modifié.
Si tu as une idée elle sera, comme d'habitude, la bienvenue LOL,
Amicalement,
Lionel,
 

Pièces jointes

  • test forum ligne 3.xlsm
    37.4 KB · Affichages: 49

job75

XLDnaute Barbatruc
Re, salut JHA,

Quant à ceci :
J'ai également besoin que si l'une des cellules de la dernière ligne est vide, l'affichage soit vide.
C'est un autre problème, il faut d'abord s'entendre sur ce que tu appelles la "dernière ligne".

Si la "dernière ligne" est celle de la colonne A, elle est normalement repérée par la valeur en A3.

Alors formule en D3 à tirer à droite :
Code:
=SI(INDEX(D:D;$A3+LIGNE())="";"";INDEX(D:D;$A3+LIGNE()))
Edit : la formule s'applique au 1er fichier mais tu sauras l'adapter au second.

A+
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Bonjour,

J'ai regardé la solution de JHA, et du coup je me pose une question : pourquoi ne pas utiliser une formule plus simple comme par exemple =DECALER(D$3;$A3;0) en D3 et à tirer jusqu'en O3, sur la feuille "Feuil1" du fichier original ?

Tu peux tester ma super-méga-formule Thuthur, mais si elle fonctionne je ne suis pas sûr pour autant que ça vaille le coup que tu essayes de la comprendre, c'est bien trop complexe...:p:p:p
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour Marcel32, le forum,
pourquoi ne pas utiliser une formule plus simple comme par exemple =DECALER(D$3;$A3;0) en D3 et à tirer jusqu'en O3, sur la feuille "Feuil1" du fichier original ?
C'est le principe que j'ai utilisé au post #7 (utilisation de la valeur en A3) sauf que DECALER est volatile et qu'il vaut mieux l'éviter quand c'est possible.

Bonne journée.
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Bonjour Marcel,
LOL je vois que tu connais mon niveau :confused:
Mais j'y travaille (enfin j'essaie) et peut-être que je vais comprendre ta formule LOL.

Bonjour Job,
Merci pour ton conseil,
J'avais tenté la formule : =SI(INDEX(D:D;$A3+LIGNE())="";"";INDEX(D:D;$A3+LIGNE()))
Mais je n'avais pas réussi à l'adapter à mon cas.
Résultat, je m'étais arrêté à la fonction "décaler".
Suite à "sauf que DECALER est volatile ", je vais insister sur ta formule.
Merci à vous tous d'être toujours là ;)
Amicalement,
Lionel,
 

job75

XLDnaute Barbatruc
Re Lionel,

Avec ton 2ème fichier il faut entrer en Résultat!D3 :
Code:
=SI(INDEX(Feuil1!D:D;$A3+2)="";"";INDEX(Feuil1!D:D;$A3+2))
ou si l'on risque d'insérer des lignes au-dessus du tableau source :
Code:
=SI(INDEX(Feuil1!D:D;$A3+LIGNE(Feuil1!$A2))="";"";INDEX(Feuil1!D:D;$A3+LIGNE(Feuil1!$A2)))
A+
 

TooFatBoy

XLDnaute Barbatruc
C'est le principe que j'ai utilisé au post #7 (utilisation de la valeur en A3) sauf que DECALER est volatile et qu'il vaut mieux l'éviter quand c'est possible.
Merci pour cette réponse. :)
Toutefois, je ne comprends pas quelle implication cela peut avoir.
Ou, autrement dit, dans quelle circonstance cela peut-il être gênant ?

Perso je n'aurais pas trouvé de solution. C'est en regardant la formule utilisée par JHA :
=DECALER(Feuil1!$A$1;EQUIV(Résultat!$A$3;Feuil1!$A:$A;0)-1;COLONNE()-1)
que je me suis dit qu'on pouvait probablement la simplifier en =DECALER(D$3;$A3;0).
 
Dernière édition:

job75

XLDnaute Barbatruc
Re,

Les fonctions volatiles (DECALER INDIRECT MAINTENANT etc...) sont recalculées à chaque ouverture du fichier.

S'il y a beaucoup de formules volatiles cela peut prendre du temps.

Et à la fermeture, même quand on n'a fait aucune modification, il y a une invite, c'est agaçant.

A+
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Encore Merci pour vos échanges :)
Job dit : S'il y a beaucoup de formules volatiles cela peut prendre du temps.
Et à la fermeture, même quand on n'a fait aucune modification, il y a une invite, c'est agaçant.

Dans mon fichier de travail, la feuille concernée aura environ une centaine de "cette" formule.
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG