OVH Cloud OVH Cloud

Minimum conditionnel entre les valeurs de deux plages

6 réponses
Avatar
Thorkhas
Bonjour à tous !

J'ai eu l'occasion de lire ce newsgroup à plusieurs reprises pour diverses
raisons et il m'a bien aidé, cependant je me heurte à un problème un peu
"compliqué" et je me demande si il faudrait faire appel à du VBA ou non...

Pour situer le contexte, il s'agit d'un outil de planification visuel.

Voici ce que je cherche à faire :

J'ai deux colonnes qui contiennent des dates. La première est remplie
automatiquement à partir d'un calcul (pour le contexte, il s'agit d'une date
"as late as possible") la seconde est prévue pour que l'utilisateur fasse des
tests.
Pour pouvoir tracer mon gantt sur l'ensemble, il me faut la plus petite date
des deux colonnes sachant que la date rentrée par l'utilisateur est
prioritaire sur l'autre.
donc ce n'est pas un simple min() sur les deux colonnes...

Par exemple si j'ai :

21/09/2006 *vide*
15/08/2006 *vide*
18/10/2006 *vide*

Avec un min() j'aurai 15/08/2006

L'utilisateur rentre une date dans le futur (ici mon planning commence au
15/08/2006 !!! on est a la bourre) :

21/09/2006 *vide*
15/08/2006 15/12/2006
18/10/2006

Ici, la plus petite date devrait etre : 21/09/2006
car la date 15/08/2006 n'est plus prise en compte. Ainsi, mon graphique
commence le 21/09/2006 ...

Je pensais à quelque chose avec des matrices ... Mais je en sais pas faire ;)
Ou sinon gruger en rajoutant une colonne comporant le max des deux valeurs
et faire un minimum de cette colonne, mais cette émthode est moins élégante...

Voila voila, si quelqu'un a une idée...

Merci,

JCM

6 réponses

Avatar
Michel Gaboly
Bonjour,


Avec tes 2 listes en A1:B10

=MIN(SI(ESTVIDE(B1:B10);A1:A10;A1:A10 + 36500);B1:B10)

à valider en matricielle.

En clair, on rajoute un siècle (aux 29 févriers près) aux dates de la première colonne si la seconde est renseignée pour
la même ligne.



Bonjour à tous !

J'ai eu l'occasion de lire ce newsgroup à plusieurs reprises pour diverses
raisons et il m'a bien aidé, cependant je me heurte à un prob lème un peu
"compliqué" et je me demande si il faudrait faire appel à du VBA ou non...

Pour situer le contexte, il s'agit d'un outil de planification visuel.

Voici ce que je cherche à faire :

J'ai deux colonnes qui contiennent des dates. La première est remp lie
automatiquement à partir d'un calcul (pour le contexte, il s'agit d'une date
"as late as possible") la seconde est prévue pour que l'utilisateu r fasse des
tests.
Pour pouvoir tracer mon gantt sur l'ensemble, il me faut la plus petite date
des deux colonnes sachant que la date rentrée par l'utilisateur es t
prioritaire sur l'autre.
donc ce n'est pas un simple min() sur les deux colonnes...

Par exemple si j'ai :

21/09/2006 *vide*
15/08/2006 *vide*
18/10/2006 *vide*

Avec un min() j'aurai 15/08/2006

L'utilisateur rentre une date dans le futur (ici mon planning commence au
15/08/2006 !!! on est a la bourre) :

21/09/2006 *vide*
15/08/2006 15/12/2006
18/10/2006

Ici, la plus petite date devrait etre : 21/09/2006
car la date 15/08/2006 n'est plus prise en compte. Ainsi, mon graphique
commence le 21/09/2006 ...

Je pensais à quelque chose avec des matrices ... Mais je en sais p as faire ;)
Ou sinon gruger en rajoutant une colonne comporant le max des deux vale urs
et faire un minimum de cette colonne, mais cette émthode est moins élégante...

Voila voila, si quelqu'un a une idée...

Merci,

JCM



--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
Thorkhas
Bonjour,

Merci beaucoup pour ta réponse ! Ca marche super sur un jeu de test. Par
contre j'ai oublié de spécifier quelque chose...

On n'a pas forcément de date dans A1:A10 ! si il y a une case vide, la
formule ne marche plus... (il affichera 00/01/1900)

Une idée ?


Bonjour,


Avec tes 2 listes en A1:B10

=MIN(SI(ESTVIDE(B1:B10);A1:A10;A1:A10 + 36500);B1:B10)

à valider en matricielle.

En clair, on rajoute un siècle (aux 29 févriers près) aux dates de la première colonne si la seconde est renseignée pour
la même ligne.



Bonjour à tous !

J'ai eu l'occasion de lire ce newsgroup à plusieurs reprises pour diverses
raisons et il m'a bien aidé, cependant je me heurte à un problème un peu
"compliqué" et je me demande si il faudrait faire appel à du VBA ou non...

Pour situer le contexte, il s'agit d'un outil de planification visuel.

Voici ce que je cherche à faire :

J'ai deux colonnes qui contiennent des dates. La première est remplie
automatiquement à partir d'un calcul (pour le contexte, il s'agit d'une date
"as late as possible") la seconde est prévue pour que l'utilisateur fasse des
tests.
Pour pouvoir tracer mon gantt sur l'ensemble, il me faut la plus petite date
des deux colonnes sachant que la date rentrée par l'utilisateur est
prioritaire sur l'autre.
donc ce n'est pas un simple min() sur les deux colonnes...

Par exemple si j'ai :

21/09/2006 *vide*
15/08/2006 *vide*
18/10/2006 *vide*

Avec un min() j'aurai 15/08/2006

L'utilisateur rentre une date dans le futur (ici mon planning commence au
15/08/2006 !!! on est a la bourre) :

21/09/2006 *vide*
15/08/2006 15/12/2006
18/10/2006

Ici, la plus petite date devrait etre : 21/09/2006
car la date 15/08/2006 n'est plus prise en compte. Ainsi, mon graphique
commence le 21/09/2006 ...

Je pensais à quelque chose avec des matrices ... Mais je en sais pas faire ;)
Ou sinon gruger en rajoutant une colonne comporant le max des deux valeurs
et faire un minimum de cette colonne, mais cette émthode est moins élégante...

Voila voila, si quelqu'un a une idée...

Merci,

JCM



--
Cordialement,

Michel Gaboly
www.gaboly.com




Avatar
Thorkhas
Re,

OK, j'ai trouvé moi-même, peut etre que c'est un peu lourd :

=MIN(SI(ESTVIDE(B1:B10);SI(ESTVIDE(A1:A10);MAINTENANT()+36500;A1:A10);SI(ESTVIDE(A1:A10);MAINTENANT()+36500;A1:A10 + 36500));B1:B10)

Ainsi les cellules vides correspondent à maintenant + 1 siècle.

Merci beaucoup !

JCM


Bonjour,


Avec tes 2 listes en A1:B10

=MIN(SI(ESTVIDE(B1:B10);A1:A10;A1:A10 + 36500);B1:B10)

à valider en matricielle.

En clair, on rajoute un siècle (aux 29 févriers près) aux dates de la première colonne si la seconde est renseignée pour
la même ligne.



Bonjour à tous !

J'ai eu l'occasion de lire ce newsgroup à plusieurs reprises pour diverses
raisons et il m'a bien aidé, cependant je me heurte à un problème un peu
"compliqué" et je me demande si il faudrait faire appel à du VBA ou non...

Pour situer le contexte, il s'agit d'un outil de planification visuel.

Voici ce que je cherche à faire :

J'ai deux colonnes qui contiennent des dates. La première est remplie
automatiquement à partir d'un calcul (pour le contexte, il s'agit d'une date
"as late as possible") la seconde est prévue pour que l'utilisateur fasse des
tests.
Pour pouvoir tracer mon gantt sur l'ensemble, il me faut la plus petite date
des deux colonnes sachant que la date rentrée par l'utilisateur est
prioritaire sur l'autre.
donc ce n'est pas un simple min() sur les deux colonnes...

Par exemple si j'ai :

21/09/2006 *vide*
15/08/2006 *vide*
18/10/2006 *vide*

Avec un min() j'aurai 15/08/2006

L'utilisateur rentre une date dans le futur (ici mon planning commence au
15/08/2006 !!! on est a la bourre) :

21/09/2006 *vide*
15/08/2006 15/12/2006
18/10/2006

Ici, la plus petite date devrait etre : 21/09/2006
car la date 15/08/2006 n'est plus prise en compte. Ainsi, mon graphique
commence le 21/09/2006 ...

Je pensais à quelque chose avec des matrices ... Mais je en sais pas faire ;)
Ou sinon gruger en rajoutant une colonne comporant le max des deux valeurs
et faire un minimum de cette colonne, mais cette émthode est moins élégante...

Voila voila, si quelqu'un a une idée...

Merci,

JCM



--
Cordialement,

Michel Gaboly
www.gaboly.com




Avatar
Thorkhas
Oups,

J'ai résolu le probleme moi même (par contre j'ai du mal avec les news) :

=MIN(SI(ESTVIDE(B1:B10);SI(ESTVIDE(A1:A10);MAINTENANT()+36500;A1:A10);SI(ESTVIDE(A1:A10);MAINTENANT()+36500;A1:A10 + 36500));B1:B10)

Aisni chaque cellule vide correspond à 1 siècle dans le futur à partir
d'aujourd'hui.

Merci beaucoup !

JCM


Bonjour,


Avec tes 2 listes en A1:B10

=MIN(SI(ESTVIDE(B1:B10);A1:A10;A1:A10 + 36500);B1:B10)

à valider en matricielle.

En clair, on rajoute un siècle (aux 29 févriers près) aux dates de la première colonne si la seconde est renseignée pour
la même ligne.



Bonjour à tous !

J'ai eu l'occasion de lire ce newsgroup à plusieurs reprises pour diverses
raisons et il m'a bien aidé, cependant je me heurte à un problème un peu
"compliqué" et je me demande si il faudrait faire appel à du VBA ou non...

Pour situer le contexte, il s'agit d'un outil de planification visuel.

Voici ce que je cherche à faire :

J'ai deux colonnes qui contiennent des dates. La première est remplie
automatiquement à partir d'un calcul (pour le contexte, il s'agit d'une date
"as late as possible") la seconde est prévue pour que l'utilisateur fasse des
tests.
Pour pouvoir tracer mon gantt sur l'ensemble, il me faut la plus petite date
des deux colonnes sachant que la date rentrée par l'utilisateur est
prioritaire sur l'autre.
donc ce n'est pas un simple min() sur les deux colonnes...

Par exemple si j'ai :

21/09/2006 *vide*
15/08/2006 *vide*
18/10/2006 *vide*

Avec un min() j'aurai 15/08/2006

L'utilisateur rentre une date dans le futur (ici mon planning commence au
15/08/2006 !!! on est a la bourre) :

21/09/2006 *vide*
15/08/2006 15/12/2006
18/10/2006

Ici, la plus petite date devrait etre : 21/09/2006
car la date 15/08/2006 n'est plus prise en compte. Ainsi, mon graphique
commence le 21/09/2006 ...

Je pensais à quelque chose avec des matrices ... Mais je en sais pas faire ;)
Ou sinon gruger en rajoutant une colonne comporant le max des deux valeurs
et faire un minimum de cette colonne, mais cette émthode est moins élégante...

Voila voila, si quelqu'un a une idée...

Merci,

JCM



--
Cordialement,

Michel Gaboly
www.gaboly.com




Avatar
Michel Gaboly
De rien, ;-))

Modifie ainsi la formule pour remplacer les cellules vides en colonne A p ar une date dans environ un siècle (75000
correspond au 4/5/2105 ou au 5/5/2109 selon que l'option "Calendrier depu is 1904 est cochée ou non).

=MIN(SI(ESTVIDE(B1:B10);SI(ESTVIDE(A1:A10);75000;A1:A10);A1:A10 + 36500 );B1:B10)

Bonjour,

Merci beaucoup pour ta réponse ! Ca marche super sur un jeu de tes t. Par
contre j'ai oublié de spécifier quelque chose...

On n'a pas forcément de date dans A1:A10 ! si il y a une case vide , la
formule ne marche plus... (il affichera 00/01/1900)

Une idée ?


Bonjour,


Avec tes 2 listes en A1:B10

=MIN(SI(ESTVIDE(B1:B10);A1:A10;A1:A10 + 36500);B1:B10)

à valider en matricielle.

En clair, on rajoute un siècle (aux 29 févriers près) a ux dates de la première colonne si la seconde est renseignée po ur
la même ligne.



Bonjour à tous !

J'ai eu l'occasion de lire ce newsgroup à plusieurs reprises pou r diverses
raisons et il m'a bien aidé, cependant je me heurte à un pr oblème un peu
"compliqué" et je me demande si il faudrait faire appel à d u VBA ou non...

Pour situer le contexte, il s'agit d'un outil de planification visuel .

Voici ce que je cherche à faire :

J'ai deux colonnes qui contiennent des dates. La première est re mplie
automatiquement à partir d'un calcul (pour le contexte, il s'agi t d'une date
"as late as possible") la seconde est prévue pour que l'utilisat eur fasse des
tests.
Pour pouvoir tracer mon gantt sur l'ensemble, il me faut la plus peti te date
des deux colonnes sachant que la date rentrée par l'utilisateur est
prioritaire sur l'autre.
donc ce n'est pas un simple min() sur les deux colonnes...

Par exemple si j'ai :

21/09/2006 *vide*
15/08/2006 *vide*
18/10/2006 *vide*

Avec un min() j'aurai 15/08/2006

L'utilisateur rentre une date dans le futur (ici mon planning commenc e au
15/08/2006 !!! on est a la bourre) :

21/09/2006 *vide*
15/08/2006 15/12/2006
18/10/2006

Ici, la plus petite date devrait etre : 21/09/2006
car la date 15/08/2006 n'est plus prise en compte. Ainsi, mon graphiq ue
commence le 21/09/2006 ...

Je pensais à quelque chose avec des matrices ... Mais je en sais pas faire ;)
Ou sinon gruger en rajoutant une colonne comporant le max des deux va leurs
et faire un minimum de cette colonne, mais cette émthode est moi ns élégante...

Voila voila, si quelqu'un a une idée...

Merci,

JCM


--
Cordialement,

Michel Gaboly
www.gaboly.com





--
Cordialement,

Michel Gaboly
www.gaboly.com



Avatar
Michel Gaboly
Re,

Si tu as du mal avec les news, utilise un soft adapté. Thunderbird p ar exemple est très bien et fonctionne sur Mac et
sur PC.

Oups,

J'ai résolu le probleme moi même (par contre j'ai du mal avec les news) :



--
Cordialement,

Michel Gaboly
www.gaboly.com