vba et les mises en forme conditionnelles

yogi

XLDnaute Nouveau
Bonjour,

dans une feuille de calcul je demande à excel dans les mise en forme conditionnelle de teinter en couleur une cellule avec les conditions suivantes :
-$b$6 contient la date du jour avec AUJOURDHUI()

-$g$8 contient la date que l'utilisateur entre dans le userform au format jj/mm/aaaa

-$n$8 est le delai en nombre de jour choisi par l'utilisateur avant qu'excel ne l'alerte en teintant la cellule , donc au format standard

la formule dans la mise en forme conditionnlle que j'ai tapé est la suivante =ET($G$8-$B$6<=$N$8;$G$8>$B$6)

si je rempli la case G8 directement dans la feuille tout fonctionne correctement, à savoir que s'il reste moins N8 jours avant la date G8 alors la couleur de la cellule change. Et si la date de G8 est passé la cellule reprend sa mise en forme initiale.

mais lorsque c'est la macro qui fait le travaille, ça ne fonctionne pas corrctement:

-si la date de G8 entrée dans le userform est passée, par exemple
18/11/2007, alors que nous somme le 20, la cellule se teinte tout de même
-si la date correspond au délai fixé par N8 la cellule se teinte ce qui est normale, mais une fois le délai passé la cellule ne reprend pas sa mise en forme initiale.
-si G8 est au delà de N8 la case conserve sa mise en forme initiale ce qui est normal

mes constats en essayant de résoudre ce problème
si je rentre manullement la date dans la cellule, celle ci est centrée, comme je l'ai demandé dans le format de cellule. si la macro fait le travail, la date est à droite de la cellule .

si je double clique dans la cellule renseignée par la macro (qui ne fait donc pas ce que je lui demande) puis que je tape ENTREE, tout rentre dans l'ordre.

c'est long, je ne sais pas si c'est clair, mais please help, j'ai des collègues qui serait bien aidé par cette outil.

merci à vous
 

ninbihan

XLDnaute Impliqué
Re : vba et les mises en forme conditionnelles

Bonsoir Yogi,


A mon humble avis, la valeur délivrée à la cellule par ta macro n'a pas le format date. Peux tu joindre ton fichier ? Sinon essaye un truc du style
range(tacellule)=cdate(tatextbox)

Bonne soirée,

Ninbihan
 

yogi

XLDnaute Nouveau
Re : vba et les mises en forme conditionnelles

Merci Ninbihan pour ta réponse.
Bien que humble, ton avis s'est révélé très pertinent.
En effet ce problème est résolu mais en a généré un autre.

si l'utilisateur ne rempli pas cette textbox dans le userform, la macro plante. Or j'aimerais laisser ce choix à l'utilisateur de remplir ou non cette textbox.
j'ai essayé avec IF matextbox<>0then....
mais ça ne fonctionne pas

Merci encore pour la précédente réponse et à bientôt
yogi
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 897
Membres
101 833
dernier inscrit
sandra25