Chercher une cellule selon conditions

Résolu/Fermé
stivoun - 11 sept. 2009 à 15:33
 stivoun - 15 sept. 2009 à 19:45
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 231 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 22 juin 2014 27
11 sept. 2009 à 15:44
Bonjour,
Essaye cette formule en E20 : = si(C1>B1;A1;"")
Passe E20 au format date.

A adapter à la ligne correspondante, bien évidemment.
0
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 231 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 22 juin 2014 27
11 sept. 2009 à 17:16
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 58721 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 15 novembre 2024 17 236
11 sept. 2009 à 17:21
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 231 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 22 juin 2014 27
11 sept. 2009 à 17:24
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
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
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