Chercher une cellule selon conditions
Résolu
stivoun
-
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
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
A voir également:
- Chercher une cellule selon conditions
- Excel cellule couleur si condition texte - Guide
- Bloquer une cellule excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Excel colorer une cellule sous condition d'une autre cellule - Forum Bureautique
- Diviser une cellule excel en deux horizontalement - Forum Excel
7 réponses
Bonjour,
Essaye cette formule en E20 : = si(C1>B1;A1;"")
Passe E20 au format date.
A adapter à la ligne correspondante, bien évidemment.
Essaye cette formule en E20 : = si(C1>B1;A1;"")
Passe E20 au format date.
A adapter à la ligne correspondante, bien évidemment.
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
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
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 !
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 !
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
"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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 ;)
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 ;)