je rencontre une difficult=E9 pour ecrire en VBA une condition avec des con=
troles de dates, et m'en explique :=20
Dans un tableau, j'ai en colonne D une colonne "date du dernier controle".=
=20
Le prochain controle doit avoir lieu 2 ans apr=E8s cette date.
Ma condition doit effectuer une mise en forme : Fond de la cellule de la co=
lonne "date du dernier controle" en orange lorsque l'on est =E0 12 mois (36=
5jours) de la date du futur controle par rapport =E0 la date du jour, et en=
rouge si l'on est =E0 180 jours de la date du futur contole toujours par r=
apport =E0 la date du jour.=20
Je me torture la t=EAte, mais n'arrive pas =E0 obtenir le r=E9sultat esp=E9=
r=E9. Quelqu'un aurait-il la solution =E0 ce probl=E8me.
Par avance merci de votre aide.
Bien cordialement.
Alex
Bonjour MEFC : sélectionner toute ta colonne. Menu / Format / MEFC / La valeur de la cellule est : / =aujourdhui()-365 -----> format, mise en forme orange =aujourdhui()-180 ----> rouge.
Les puristes pourraient écrire =année(aujourdhui()-1 ---> orange ----> ce qui est plus juste car si on se retrouve dans une bisextile, il y aura changement de date avec aujourdhui()-365. Pour l'autre =mois(aujourdhui()-6 ---> rouge
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "Alex" a écrit dans le message de groupe de discussion :
Bonjour à tous,
je rencontre une difficulté pour ecrire en VBA une condition avec des controles de dates, et m'en explique :
Dans un tableau, j'ai en colonne D une colonne "date du dernier controle".
Le prochain controle doit avoir lieu 2 ans après cette date.
Ma condition doit effectuer une mise en forme : Fond de la cellule de la colonne "date du dernier controle" en orange lorsque l'on est à 12 mois (365jours) de la date du futur controle par rapport à la date du jour, et en rouge si l'on est à 180 jours de la date du futur contole toujours par rapport à la date du jour.
Je me torture la tête, mais n'arrive pas à obtenir le résultat espéré. Quelqu'un aurait-il la solution à ce problème.
Par avance merci de votre aide. Bien cordialement. Alex
--- Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active. http://www.avast.com
Bonjour
MEFC : sélectionner toute ta colonne.
Menu / Format / MEFC / La valeur de la cellule est : /
=aujourdhui()-365 -----> format, mise en forme orange
=aujourdhui()-180 ----> rouge.
Les puristes pourraient écrire =année(aujourdhui()-1 ---> orange ----> ce
qui est plus juste car si on se retrouve dans une bisextile, il y aura
changement de date avec aujourdhui()-365.
Pour l'autre =mois(aujourdhui()-6 ---> rouge
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"Alex" a écrit dans le message de groupe de discussion :
3fa74d34-332b-4fc4-87d4-2548747d9159@googlegroups.com...
Bonjour à tous,
je rencontre une difficulté pour ecrire en VBA une condition avec des
controles de dates, et m'en explique :
Dans un tableau, j'ai en colonne D une colonne "date du dernier controle".
Le prochain controle doit avoir lieu 2 ans après cette date.
Ma condition doit effectuer une mise en forme : Fond de la cellule de la
colonne "date du dernier controle" en orange lorsque l'on est à 12 mois
(365jours) de la date du futur controle par rapport à la date du jour, et en
rouge si l'on est à 180 jours de la date du futur contole toujours par
rapport à la date du jour.
Je me torture la tête, mais n'arrive pas à obtenir le résultat espéré.
Quelqu'un aurait-il la solution à ce problème.
Par avance merci de votre aide.
Bien cordialement.
Alex
---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Bonjour MEFC : sélectionner toute ta colonne. Menu / Format / MEFC / La valeur de la cellule est : / =aujourdhui()-365 -----> format, mise en forme orange =aujourdhui()-180 ----> rouge.
Les puristes pourraient écrire =année(aujourdhui()-1 ---> orange ----> ce qui est plus juste car si on se retrouve dans une bisextile, il y aura changement de date avec aujourdhui()-365. Pour l'autre =mois(aujourdhui()-6 ---> rouge
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "Alex" a écrit dans le message de groupe de discussion :
Bonjour à tous,
je rencontre une difficulté pour ecrire en VBA une condition avec des controles de dates, et m'en explique :
Dans un tableau, j'ai en colonne D une colonne "date du dernier controle".
Le prochain controle doit avoir lieu 2 ans après cette date.
Ma condition doit effectuer une mise en forme : Fond de la cellule de la colonne "date du dernier controle" en orange lorsque l'on est à 12 mois (365jours) de la date du futur controle par rapport à la date du jour, et en rouge si l'on est à 180 jours de la date du futur contole toujours par rapport à la date du jour.
Je me torture la tête, mais n'arrive pas à obtenir le résultat espéré. Quelqu'un aurait-il la solution à ce problème.
Par avance merci de votre aide. Bien cordialement. Alex
--- Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active. http://www.avast.com
MichD
Bonjour,
Tu as essayé cette formule pour établir ta mise en forme conditionnelle?
D1 est la première cellule des données "date" en colonne D Tu sélectionnes toute la plage de données, tu appelles la commande "mise en forme conditionnelle" et tu utilises cette formule : =AUJOURDHUI()>DATE(ANNEE($D1)+2;MOIS($D1);JOUR($D1)) Le +2 de la formule signifie 2 ans. La mise en forme s'appliquera dès que la durée dépassera 2 ans.
Pourquoi utiliser VBA pour faire cela? L'enregistreur de code devrait te donnait l'essentiel du code.
Si tu as un problème, publie ce que l'enregistreur de code t'a donné comme code!
Bonjour,
Tu as essayé cette formule pour établir ta mise en forme conditionnelle?
D1 est la première cellule des données "date" en colonne D
Tu sélectionnes toute la plage de données, tu appelles la commande "mise en forme conditionnelle" et tu utilises cette
formule :
=AUJOURDHUI()>DATE(ANNEE($D1)+2;MOIS($D1);JOUR($D1))
Le +2 de la formule signifie 2 ans.
La mise en forme s'appliquera dès que la durée dépassera 2 ans.
Pourquoi utiliser VBA pour faire cela? L'enregistreur de code devrait te donnait l'essentiel du code.
Si tu as un problème, publie ce que l'enregistreur de code t'a donné comme code!
Tu as essayé cette formule pour établir ta mise en forme conditionnelle?
D1 est la première cellule des données "date" en colonne D Tu sélectionnes toute la plage de données, tu appelles la commande "mise en forme conditionnelle" et tu utilises cette formule : =AUJOURDHUI()>DATE(ANNEE($D1)+2;MOIS($D1);JOUR($D1)) Le +2 de la formule signifie 2 ans. La mise en forme s'appliquera dès que la durée dépassera 2 ans.
Pourquoi utiliser VBA pour faire cela? L'enregistreur de code devrait te donnait l'essentiel du code.
Si tu as un problème, publie ce que l'enregistreur de code t'a donné comme code!
Alex
Bonjour à vous deux,
merci pour ce retour. Je n'avais pas pensé à la mise en forme conditionnelle, mais si cela pe ut se faire sans vba ce n'est pas plus mal. Après lecture, j'ai repris la formule proposé par Michel que j'ai modif ié ainsi :
Cela vous semble t il correcte ? Merci pour votre aide Alex
Bonjour à vous deux,
merci pour ce retour.
Je n'avais pas pensé à la mise en forme conditionnelle, mais si cela pe ut se faire sans vba ce n'est pas plus mal.
Après lecture, j'ai repris la formule proposé par Michel que j'ai modif ié ainsi :
merci pour ce retour. Je n'avais pas pensé à la mise en forme conditionnelle, mais si cela pe ut se faire sans vba ce n'est pas plus mal. Après lecture, j'ai repris la formule proposé par Michel que j'ai modif ié ainsi :
Cela vous semble t il correcte ? Merci pour votre aide Alex
MichD
Pour la mise en forme conditionnelle, pourquoi ne pas essayer d'exprimer clairement ce que tu veux.
On sait qu'en colonne D, tu as des dates.
Exemple : Par rapport à la date en D1, Quand veux-tu que la cellule passe à l'orange? '' '' '' , Quand veux-tu que la cellule passe au rouge?
Ce type de formule : =AUJOURDHUI()>DATE(ANNEE($D1)+2;MOIS($D1);JOUR($D1)) permet d'ajouter ou de soustraire à chaque paramètre de la fonction DATE(), une durée quelconque.
Dans la formule, j'ajoute (+2) 2 ans, mais je pourrais appliquer ce même principe pour ajouter 6 mois au paramètre Mois() de la fonction Date() ou 25 jours au paramètre Jour() de la fonction "DATE()". Au lieu d'ajouter, tu peux soustraire aussi des années, des mois, ou des jours. C'est toi qui décides ce que tu veux, la comparaison à faire.
La mise en forme conditionnelle affiche le format de cellule choisi au moment où la formule devient VRAI.
Pour la mise en forme conditionnelle, pourquoi ne pas essayer d'exprimer clairement ce que tu veux.
On sait qu'en colonne D, tu as des dates.
Exemple : Par rapport à la date en D1, Quand veux-tu que la cellule passe à l'orange?
'' '' '' , Quand veux-tu que la cellule passe au rouge?
Ce type de formule : =AUJOURDHUI()>DATE(ANNEE($D1)+2;MOIS($D1);JOUR($D1))
permet d'ajouter ou de soustraire à chaque paramètre de la fonction DATE(), une durée
quelconque.
Dans la formule, j'ajoute (+2) 2 ans, mais je pourrais appliquer ce même principe pour ajouter
6 mois au paramètre Mois() de la fonction Date() ou 25 jours au paramètre Jour() de la
fonction "DATE()". Au lieu d'ajouter, tu peux soustraire aussi des années, des mois, ou des jours.
C'est toi qui décides ce que tu veux, la comparaison à faire.
La mise en forme conditionnelle affiche le format de cellule choisi au moment où la formule devient VRAI.
Pour la mise en forme conditionnelle, pourquoi ne pas essayer d'exprimer clairement ce que tu veux.
On sait qu'en colonne D, tu as des dates.
Exemple : Par rapport à la date en D1, Quand veux-tu que la cellule passe à l'orange? '' '' '' , Quand veux-tu que la cellule passe au rouge?
Ce type de formule : =AUJOURDHUI()>DATE(ANNEE($D1)+2;MOIS($D1);JOUR($D1)) permet d'ajouter ou de soustraire à chaque paramètre de la fonction DATE(), une durée quelconque.
Dans la formule, j'ajoute (+2) 2 ans, mais je pourrais appliquer ce même principe pour ajouter 6 mois au paramètre Mois() de la fonction Date() ou 25 jours au paramètre Jour() de la fonction "DATE()". Au lieu d'ajouter, tu peux soustraire aussi des années, des mois, ou des jours. C'est toi qui décides ce que tu veux, la comparaison à faire.
La mise en forme conditionnelle affiche le format de cellule choisi au moment où la formule devient VRAI.
Alex
J'ai du mal m'exprimé, avec mes excuses.
Je réexplique mon besoin et donne des exemples.
En colonne D figure les dates du derniers contrôle. Le nouveau contrôle doit s'effectuer deux ans après (730j). Ma mise en forme en orange doit se mettre 365j (1 an) après la date du de rnier contrôle et en rouge 547 jours (1an et demi) après la date du der nier contrôle
Date Dernier contrôle ! date à laquelle la mise en forme s'applique + Couleur
01/01/2012 => 01/01/2013 en orange => O1/07/2013 en roug e 01/06/2012 => 01/06/2013 en orange => 01/11/2013 en roug e 01/12/2013 => 01/12/2014 en orange => 01/06/2015 en roug e 01/02/2014 => 01/02/2015 en orange => 01/08/2015 en roug e
Pas de mise en Forme si avant la date orange
j'espère que cette explication avec exemple sera plus claire pour m'appor ter votre aide.
Merci encore de votre aide.
J'ai du mal m'exprimé, avec mes excuses.
Je réexplique mon besoin et donne des exemples.
En colonne D figure les dates du derniers contrôle. Le nouveau contrôle doit s'effectuer deux ans après (730j).
Ma mise en forme en orange doit se mettre 365j (1 an) après la date du de rnier contrôle et en rouge 547 jours (1an et demi) après la date du der nier contrôle
Date Dernier contrôle ! date à laquelle la mise en forme s'applique + Couleur
01/01/2012 => 01/01/2013 en orange => O1/07/2013 en roug e
01/06/2012 => 01/06/2013 en orange => 01/11/2013 en roug e
01/12/2013 => 01/12/2014 en orange => 01/06/2015 en roug e
01/02/2014 => 01/02/2015 en orange => 01/08/2015 en roug e
Pas de mise en Forme si avant la date orange
j'espère que cette explication avec exemple sera plus claire pour m'appor ter votre aide.
En colonne D figure les dates du derniers contrôle. Le nouveau contrôle doit s'effectuer deux ans après (730j). Ma mise en forme en orange doit se mettre 365j (1 an) après la date du de rnier contrôle et en rouge 547 jours (1an et demi) après la date du der nier contrôle
Date Dernier contrôle ! date à laquelle la mise en forme s'applique + Couleur
01/01/2012 => 01/01/2013 en orange => O1/07/2013 en roug e 01/06/2012 => 01/06/2013 en orange => 01/11/2013 en roug e 01/12/2013 => 01/12/2014 en orange => 01/06/2015 en roug e 01/02/2014 => 01/02/2015 en orange => 01/08/2015 en roug e
Pas de mise en Forme si avant la date orange
j'espère que cette explication avec exemple sera plus claire pour m'appor ter votre aide.
Merci encore de votre aide.
Alex
J'ai mis un fichier sur cijoint :
http://cjoint.com/?3GkuxFaIWmU
La colonne A est la colonne D dans mon vrai fichier, j'ai moi même mis la mise en forme que je souhaite. Les colonnes B, C, D et E sont la pour tent er de mieux expliquer mon besoin par rapport au date.
Encore merci
J'ai mis un fichier sur cijoint :
http://cjoint.com/?3GkuxFaIWmU
La colonne A est la colonne D dans mon vrai fichier, j'ai moi même mis la mise en forme que je souhaite. Les colonnes B, C, D et E sont la pour tent er de mieux expliquer mon besoin par rapport au date.
La colonne A est la colonne D dans mon vrai fichier, j'ai moi même mis la mise en forme que je souhaite. Les colonnes B, C, D et E sont la pour tent er de mieux expliquer mon besoin par rapport au date.
Encore merci
Alex
Ah je crois que j'ai réussi (fait sur la colonne A de mon fichier joint) :
ÚTE(ANNEE($A1)+1;MOIS($A1);JOUR($A1))<AUJOURDHUI() en orange ÚTE(ANNEE($A1)+1;MOIS($A1);JOUR($A1)+182)<AUJOURDHUI() en rouge
Merci
Ah je crois que j'ai réussi (fait sur la colonne A de mon fichier joint) :
=DATE(ANNEE($A1)+1;MOIS($A1);JOUR($A1))<AUJOURDHUI() en orange
=DATE(ANNEE($A1)+1;MOIS($A1);JOUR($A1)+182)<AUJOURDHUI() en rouge
Ah je crois que j'ai réussi (fait sur la colonne A de mon fichier joint) :
ÚTE(ANNEE($A1)+1;MOIS($A1);JOUR($A1))<AUJOURDHUI() en orange ÚTE(ANNEE($A1)+1;MOIS($A1);JOUR($A1)+182)<AUJOURDHUI() en rouge
Merci
Fredo P.
http://cjoint.com/?0GlnYauaVny MFC: =ET(A2<>"";(A2+365)<AUJOURDHUI();(A2+547)>AUJOURDHUI()) ' Pour l' Orange =ET(A2<>"";(A2+547)<AUJOURDHUI()) ' pour le Rouge
"Alex" a écrit dans le message de news:
Ah je crois que j'ai réussi (fait sur la colonne A de mon fichier joint) :
ÚTE(ANNEE($A1)+1;MOIS($A1);JOUR($A1))<AUJOURDHUI() en orange ÚTE(ANNEE($A1)+1;MOIS($A1);JOUR($A1)+182)<AUJOURDHUI() en rouge
Merci
http://cjoint.com/?0GlnYauaVny
MFC:
=ET(A2<>"";(A2+365)<AUJOURDHUI();(A2+547)>AUJOURDHUI()) ' Pour l'
Orange
=ET(A2<>"";(A2+547)<AUJOURDHUI()) ' pour le Rouge
"Alex" <alex-m@orange.fr> a écrit dans le message de news:
711f6ca7-2182-4c54-ba69-196d68f427a4@googlegroups.com...
Ah je crois que j'ai réussi (fait sur la colonne A de mon fichier joint) :
ÚTE(ANNEE($A1)+1;MOIS($A1);JOUR($A1))<AUJOURDHUI() en orange
ÚTE(ANNEE($A1)+1;MOIS($A1);JOUR($A1)+182)<AUJOURDHUI() en rouge
http://cjoint.com/?0GlnYauaVny MFC: =ET(A2<>"";(A2+365)<AUJOURDHUI();(A2+547)>AUJOURDHUI()) ' Pour l' Orange =ET(A2<>"";(A2+547)<AUJOURDHUI()) ' pour le Rouge
"Alex" a écrit dans le message de news:
Ah je crois que j'ai réussi (fait sur la colonne A de mon fichier joint) :
ÚTE(ANNEE($A1)+1;MOIS($A1);JOUR($A1))<AUJOURDHUI() en orange ÚTE(ANNEE($A1)+1;MOIS($A1);JOUR($A1)+182)<AUJOURDHUI() en rouge
Sans rien enlever au mérite de ces formules (j'ai proposé la MEFC hier), j'attire une seconde fois l'attention que, en prenant une date et en y ajoutant 365 ou 547 jours, cela changera la date lors des calculs sur les années bissextiles ( 1 j en +). Pour contourner ce problème, il suffit de décortiquer la date en année (+1), mois, jours. Bonne fin de journée Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"Fredo P." a écrit dans le message de groupe de discussion : lpoj6m$h2a$
http://cjoint.com/?0GlnYauaVny MFC: =ET(A2<>"";(A2+365)<AUJOURDHUI();(A2+547)>AUJOURDHUI()) ' Pour l' Orange =ET(A2<>"";(A2+547)<AUJOURDHUI()) ' pour le Rouge
"Alex" a écrit dans le message de news:
Ah je crois que j'ai réussi (fait sur la colonne A de mon fichier joint) :
ÚTE(ANNEE($A1)+1;MOIS($A1);JOUR($A1))<AUJOURDHUI() en orange ÚTE(ANNEE($A1)+1;MOIS($A1);JOUR($A1)+182)<AUJOURDHUI() en rouge
Merci
--- Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active. http://www.avast.com
Bonjour,
Sans rien enlever au mérite de ces formules (j'ai proposé la MEFC hier),
j'attire une seconde fois l'attention que, en prenant une date et en y
ajoutant 365 ou 547 jours, cela changera la date lors des calculs sur les
années bissextiles ( 1 j en +).
Pour contourner ce problème, il suffit de décortiquer la date en année (+1),
mois, jours.
Bonne fin de journée
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"Fredo P." a écrit dans le message de groupe de discussion :
lpoj6m$h2a$1@speranza.aioe.org...
http://cjoint.com/?0GlnYauaVny
MFC:
=ET(A2<>"";(A2+365)<AUJOURDHUI();(A2+547)>AUJOURDHUI()) ' Pour l'
Orange
=ET(A2<>"";(A2+547)<AUJOURDHUI()) ' pour le Rouge
"Alex" <alex-m@orange.fr> a écrit dans le message de news:
711f6ca7-2182-4c54-ba69-196d68f427a4@googlegroups.com...
Ah je crois que j'ai réussi (fait sur la colonne A de mon fichier joint) :
ÚTE(ANNEE($A1)+1;MOIS($A1);JOUR($A1))<AUJOURDHUI() en orange
ÚTE(ANNEE($A1)+1;MOIS($A1);JOUR($A1)+182)<AUJOURDHUI() en rouge
Merci
---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Sans rien enlever au mérite de ces formules (j'ai proposé la MEFC hier), j'attire une seconde fois l'attention que, en prenant une date et en y ajoutant 365 ou 547 jours, cela changera la date lors des calculs sur les années bissextiles ( 1 j en +). Pour contourner ce problème, il suffit de décortiquer la date en année (+1), mois, jours. Bonne fin de journée Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"Fredo P." a écrit dans le message de groupe de discussion : lpoj6m$h2a$
http://cjoint.com/?0GlnYauaVny MFC: =ET(A2<>"";(A2+365)<AUJOURDHUI();(A2+547)>AUJOURDHUI()) ' Pour l' Orange =ET(A2<>"";(A2+547)<AUJOURDHUI()) ' pour le Rouge
"Alex" a écrit dans le message de news:
Ah je crois que j'ai réussi (fait sur la colonne A de mon fichier joint) :
ÚTE(ANNEE($A1)+1;MOIS($A1);JOUR($A1))<AUJOURDHUI() en orange ÚTE(ANNEE($A1)+1;MOIS($A1);JOUR($A1)+182)<AUJOURDHUI() en rouge
Merci
--- Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active. http://www.avast.com