XL 2019 Formule - Trouver dernière ligne colonnes discontinues

Chris401

XLDnaute Accro
Bonsoir le forum

J'ai besoin des spécialistes en formules pour pouvoir répondre à ce fil :

https://www.excel-downloads.com/thr...e-ligne-non-vide-et-nom-de-len-tete.20062227/

En effet, malgré de nombreux essais, impossible pour moi de récupérer la dernière ligne d'une plage discontinue.
Je n'arrive qu'à récupérer la dernière ligne d'une plage continue.

Merci à tous et bonne soirée.
 

Pièces jointes

  • TchoTchodu31.xlsx
    15.6 KB · Affichages: 9
Solution
Bonjour à tous,
Bonjour Chris401,

Ci-joint une formule qui ferait l'affaire mais pas très sympathique.

VB:
=SI(INDIRECT("c"&$S$16)=$S$17;INDIRECT("c2");SI(INDIRECT("f"&$S$16)=$S$17;INDIRECT("f2");SI(INDIRECT("h"&$S$16)=$S$17;INDIRECT("h2");SI(INDIRECT("l"&$S$16)=$S$17;INDIRECT("l2");SI(INDIRECT("n"&$S$16)=$S$17;INDIRECT("n2");"")))))

JHA

JHA

XLDnaute Barbatruc
Bonjour à tous,

si les colonnes de recherche sont toujours les mêmes, on peut se servir de la fonction indirect().
En une formule cela est un peu compliqué mais si on éclate les calculs cela reste assez simple.

JHA
 

Pièces jointes

  • TchoTchodu31.xlsx
    16 KB · Affichages: 6

Chris401

XLDnaute Accro
Bonjour à tous
Grand merci @JHA - Je devenais chèvre !

Connaissant les demandes de @Tchotchodu31, je ne pense pas que cette forme de requête (les colonnes à prendre en compte par exemple ou même les lignes comme cela s'est produit sur sa demande initiale) soit définitive. ;)
;);)

Mais ta formule est facilement adaptable.

Excellente journée.
 

Chris401

XLDnaute Accro
Re @JHA

Une dernière chose STP :
Si en E23 est inscrit 46.64 (valeur identique à F23), en F9 est retourné "Valeur 5" (titre de la colonne E) qui ne fait pas partie des colonnes à prendre en compte.

Peut-être que ce cas ne se présentera jamais dans la réalité, mais vois-tu comment faire pour ne prendre en compte que les colonnes en JAUNE dans ce cas ?
 

JHA

XLDnaute Barbatruc
Bonjour à tous,
Bonjour Chris401,

Ci-joint une formule qui ferait l'affaire mais pas très sympathique.

VB:
=SI(INDIRECT("c"&$S$16)=$S$17;INDIRECT("c2");SI(INDIRECT("f"&$S$16)=$S$17;INDIRECT("f2");SI(INDIRECT("h"&$S$16)=$S$17;INDIRECT("h2");SI(INDIRECT("l"&$S$16)=$S$17;INDIRECT("l2");SI(INDIRECT("n"&$S$16)=$S$17;INDIRECT("n2");"")))))

JHA
 

Pièces jointes

  • TchoTchodu31 bis.xlsx
    16.1 KB · Affichages: 2

Orson83

XLDnaute Impliqué
Bonjour à tous
Grand merci @JHA - Je devenais chèvre !

Connaissant les demandes de @Tchotchodu31, je ne pense pas que cette forme de requête (les colonnes à prendre en compte par exemple ou même les lignes comme cela s'est produit sur sa demande initiale) soit définitive. ;)
;);)

Mais ta formule est facilement adaptable.

Excellente journée.
Bonjour Chris401, JHA, le forum,
Merci et bravo à JHA pour cette proposition 👍 !
Post #3 : quel blagueur ce Chris401, "tout est correct pour moi 😁 !"
Un grand merci également à Chris401 d'avoir poussé un peu plus loin en ouvrant un nouveau ticket, ce qui a permis de résoudre ce problème.
Post #4 : bizarrement, je n'ai pas rencontré ce problème en saisissant des valeurs hors des colonnes jaunes (voir mon fichier joint).

PS : je me suis permis quelques corrections dans la formule de JHA car il me semble qu'en S8 la lettre "g" doit être remplacée par la lettre "n" et qu'il manque aussi un morceau de formule.
Avant :
Code:
=SI(MAX(
INDIRECT("c"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N)));
INDIRECT("f"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N)));
INDIRECT("h"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N)));
INDIRECT("l"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N)));
INDIRECT("g"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N))))<$S$6;"Non atteinte";
MAX(
INDIRECT("c"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N)));
INDIRECT("f"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N)));
INDIRECT("h"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N)));
INDIRECT("l"&$S$16);
INDIRECT("g"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N)))))
Après :
Code:
=SI(MAX(
INDIRECT("c"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N)));
INDIRECT("f"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N)));
INDIRECT("h"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N)));
INDIRECT("l"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N)));
INDIRECT("n"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N))))<$S$6;"Non atteinte";
MAX(
INDIRECT("c"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N)));
INDIRECT("f"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N)));
INDIRECT("h"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N)));
INDIRECT("l"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N)));
INDIRECT("n"&MAX(EQUIV(9^9;C:C);EQUIV(9^9;F:F);EQUIV(9^9;H:H);EQUIV(9^9;L:L);EQUIV(9^9;N:N)))))
Merci à JHA de me corriger si la modification n'est pas correcte.
Très belle journée à tous ;) ;)

NB : ci-joint le fichier avec les résolutions
 

Pièces jointes

  • Valeur MAX bas de page et en-tête.xlsx
    17.3 KB · Affichages: 1
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 088
Messages
2 085 199
Membres
102 816
dernier inscrit
bolivier