RechercheV dernière valeur si plusieurs fois la mê

F

Francis38

Guest
Bonjour Le Forum,

Je viens chercher de l'aide sur ce forum qui m'a déjà dépanné à plusieurs reprises.
Avec la fonction RechercheV je souhaite rechercher la dernière valeur 'Utilisation' dans la colonne A qui est associée à une date dans la colone B. La valeur 'Utilisation' est présente à plusieurs reprises. Que je mettre VRAI ou FAUX dans la formule, le résultat (affiché sur une autre feuille) n'est pas celui que j'attends.
Colone A Colone B
Utilisation 26/10/04
Indisponible 27/10/04
Rectification 28/10/04
Disponible 29/10/04
Garnissage 10/10/05
Rectification 11/10/05
Disponible 12/10/05
Contrôle 13/10/05
Utilisation 22/10/05
Utilisation 23/10/05
Disponible 30/10/05
Contrôle 01/11/05
Par la suite je souhaiterais faire effectuer cette opération en AUTO à l'aide d'une macro. Donc par la même occasion si vous pouvez aussi me proposer une solution. Pour info je ne suis pas un pro de VBA (heureusement il y a le Forum), mais j'ai fait quelques trucs pas mal.
J'espère avoir été assez clair dans mon explication, car mon fichier Xls est assez important 747 Ko.
Je remercie par avance ceux qui pourront m'aider, mais je n'en doute pas, car ce site est extraordinnaire de génie.
Bonne soirée à tous.
Francis de Vif (38)
 

Gadjo

XLDnaute Nouveau
Re : RechercheV dernière valeur si plusieurs fois la mê

Re,

J'ai essayer des trucs et je pensais avoir compris et trouvé l'astuce et je comprend pas.. Je présente ma formule :

Code:
=INDEX(J1:J1088;PETITE.VALEUR(SI(ET(I75:I585="NAPHTENE";INDEX(N75:N585;(LIGNE(I75:I585)-LIGNE(I9)))="Poids");LIGNE(I75:I585));2))

Petit zoom sur l'ajout qui fait que ça ne fonctionne plus :

Code:
ET(I75:I585="NAPHTENE";INDEX(N1:N585;(LIGNE(I75:I585)-LIGNE(I9)))="Poids")

Ici ce que j'ai essayé de faire c'est déjà de garder ma condition pour NAPHTENE et rajouter une condition pour avoir "Poids" d'inscrit 9 lignes plus haut et dans la colonne N.

J'ai aussi essayer ceci :

Code:
=INDEX(J1:J585;PETITE.VALEUR(SI(I75:I535="NAPHTENE";SI(INDEX(N1:N585;(LIGNE(I75:I585)-LIGNE(I9)))="Poids";LIGNE(I75:I535)));2))

Un emboîtement de SI() assez bidon et qui reviendrait à faire la formule du dessus. Comme je ne sais pas les priorités de vérifications avec ET(), je pensais que avec deux SI() ça aurait fonctionné : Il vérifie la première et si c'est OK il vérifie la deuxième et si c'est OK on a notre valeur..

L'erreur est #NOMBRE! et viendrait de la référence de ligne de mon INDEX, je suppose que ceci vient du fait que j'y effectue une opération mais je vois pas comment contourner cette contrainte..


EDIT :

Vous remarquerez que j'ai noté "J1088" dans la première formule pour la palge de référence. J'aurais pu mettre "J585", je ne cherche pas de valeur au-delà dans ce cas présent.
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : RechercheV dernière valeur si plusieurs fois la mê

Re,

Le PETITE.VALEUR était adapté s'il y avait plusieurs occurrences de NAPHTENE. Ici, une combinaison de NAPHTENE et de "Poids" en colonne N et 9 lignes plus haut fera (je suppose!?) qu'il n'y aura plus qu'un seul cas.
Pour la double condition, dans ce cas de figure, il faut les multiplier entre elles (pour multiplier entre elles 2 matrices de VRAI/FAUX).

Sans pouvoir tester, un essai: quelque chose comme
Code:
=INDEX(J1:J1088;MIN(SI((I75:I585="NAPHTENE")*(DECALER(N75:N585;-9;)="Poids");LIGNE(I75:I585))))
Toujours avec une validation "matricielle"
eh, tu as vu? On retrouve le DECALER! :rolleyes:
 

Modeste

XLDnaute Barbatruc
Re : RechercheV dernière valeur si plusieurs fois la mê

le multiplié correspond en fait à un "ET"
Tout à fait! ... qu'elles soient dans un SI, ou pas!

Fais le test suivant pour t'en convaincre:
Sélectionne, dans la barre de formule, la partie I75:I585="NAPHTENE" et appuie sur F9. Tu devrais avoir une matrice de FAUX, avec l'un ou l'autre VRAI, noyés dans la masse. (attention, n'appuie pas sur Enter ensuite: uniquement Escape!!!)
Si tu fais la même chose avec DECALER(N75:N585;-9;)="Poids", tu obtiens une autre matrice semblable à la première. Si tu les multiplies entre elles, seuls les VRAI * VRAI donneront comme résultat VRAI ... et donc, pour ceux-là seulement, on obtiendra un n° de ligne.
Ceci est un précipité du résumé d'un condensé ... à toi de voir si tu veux aller plus loin!

Puis-je déduire de ton "chapeau" que tu obtiens le bon résultat?
Je m'en vais profiter du soleil un moment!

@ plus tard,
 

Gadjo

XLDnaute Nouveau
Re : RechercheV dernière valeur si plusieurs fois la mê

Ok super, et oui ça fonctionne parfaitement avec toutes les conditions ! (d'où le chapeau) J'ai découvert les matrices il y a peu sous excel et c'était juste pour des opérations simples du type {=A1:A5*B1:B5}, donc c'est bon de savoir ce qu'il est possible de faire de ces matrices à côté de ça ^^

Un grand merci à toi Modeste, Je "débute" le vrai travail en profondeur sur Excel et tu m'as vraiment donné un grand coup de pouce !

Profite bien du soleill, je vais faire de même.

Bon week-end :cool:
 

Discussions similaires

Statistiques des forums

Discussions
315 135
Messages
2 116 618
Membres
112 815
dernier inscrit
Pierre43