Chercher une cellule selon conditions

Résolu
stivoun -  
 stivoun -
Bonjour à tous,

Je me trouve confronté à un problème que je n'arrive pas à résoudre. Je bloque totalement. Je suis sur excel 2007.

Je vous explique mon problème :

Colonne A Colonne B Colonne C
11.09.09..........100.............75
12.09.09..........150...........125
13.09.09..........200...........201
14.09.09..........250...........280
15.09.09..........300...........320
etc...

Je souhaite dans une cellule on va dire E20 afficher la date du 13.09.09 soit lorsque la valeur de la colonne C dépasse la valeur de la colonne B.

Je suis à la rue, est-ce que vous auriez une petite idée ?

Mille mercis pour votre aide

Steve

7 réponses

Foreverson Messages postés 244 Statut Membre 27
 
Bonjour,
Essaye cette formule en E20 : = si(C1>B1;A1;"")
Passe E20 au format date.

A adapter à la ligne correspondante, bien évidemment.
0
stivoun
 
Merci Foreverson, cette formule marche à merveille, malheureusement ce que je cherche à obtenir c'est qu'il fasse le teste que tu me donnes mais qu'il s'arrête une fois la condition remplie. Exemple, réponse négative en A1, alors je teste la ligne suivante, etc... et ce jusqu'à ce que la condition soit remplie.

J'ai juste peur d'une chose, c'est que je doive passer par une macro vba et là c'est foutu pour moi. Je ne connais pas du tout ce langage.

Euh, c'est plus ou moins claire comme explication ? Car a force de retourner mon problème dans tous les sens je n'arrive plus à être clair pour moi-même :-)

Désolé de vous déranger, mais là je ne trouve rien....

Steve
0
Foreverson Messages postés 244 Statut Membre 27
 
J'ai une formule un peu "bricolage" mais elle a l'air de fonctionner :

En E20 : =INDIRECT("A"&MIN(SI(C1:C20>B1:B20;LIGNE(A1:A20);2000))) à valider avec Ctrl+Maj+Entrée (formule matricielle)

J'explique un peu :

Cette formule va tester pour chaque ligne (de 1 à 20 ici) si C > B.
Si oui, elle "enregistre" le N° de la ligne.
Si non elle "enregistre" un 2000 (2000 est arbitraire, je l'ai choisi car il est suffisamment grand).
Ensuite, elle récupère le minimum des nombres enregistrés, qui correspond donc à la ligne où se trouve le premier test (C>B) validé.

Il suffit ensuite de passer avec indirect, qui à la colonne A va associer la bonne ligne et ainsi afficher la date.

C'est peut-être pas très clair mais il me semble que ça marche !
0
Raymond PENTIER Messages postés 71824 Statut Contributeur 17 376
 
Bonjour, stivoun.

"malheureusement ce que je cherche à obtenir c'est qu'il fasse le teste que tu me donnes mais qu'il s'arrête une fois la condition remplie"

Tu n'avais pas demandé ça ! Il faut tâcher d'être précis et complet quand on demande de l'aide.
En mettant tes intitulés de colonnes en ligne 1 et en commençant ta liste en ligne 2, la formule en D2 sera =SI(ESTNUM(D1); 0;SI(C2>B2;A2;"")) à recopier vers le bas.

Mais pour éviter l'affichage de 0 (ou de 00/01/01) il te faudra appliquer à la colonne D un format personnalisé que tu saisiras très exactement ainsi : jj/mm/aa;jj/mm/aa;
sans oublier le ; à la fin ! ► https://www.cjoint.com/?jlryzWSOmJ
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Foreverson Messages postés 244 Statut Membre 27
 
J'arrive pas à éditer mon message...

Je voulais rajouter ceci :

Tu peux aussi mettre celle-ci :

=SI(MIN(SI(C1:C16>B1:B16;LIGNE(A1:A16);2000))=2000;"pas de date à afficher";INDIRECT("A"&MIN(SI(C1:C16>B1:B16;LIGNE(A1:A16);2000)))) à valider avec Ctrl+Maj+Entrée

Si C n'est jamais supérieur à B, tu auras un petit message ;)
0
Stivoun
 
Glurps, c'est vrai je n'ai peut-être pas été assez clair dans ma demande.

Je vais essayer vos solutions d'ici demain. Je ne manquerai pas de vous tenir au courant.

Mille mercis à vous deux

Bonne soirée

Steve
0
stivoun
 
Merci à vous deux, j'ai testé et par une formule matricielle comme me dit Foreverson et à la façon de Raymond. Les deux solutions fonctionnent.

Mille mercis et à bientôt

Steve
0