Appliquer une couleur automatiquement en fonction d'une date

Bonsoir. Promis c'est ma dernière question (3 en tout)

Soit B une colonne dans laquelle figure des dates. J'aimerai faire en sorte que, par rapport à la date ACTUELLE (celle de windows quoi), celle qui font parti de la semaine en cours soient affichées de telle couleur, celle de la semaine suivante d'une autre couleur, etc etc...

je vous remercie d'avance, et désolé d'avoir créé 3 sujets différents, mais il me semble qu'il s'agit bien de 3 cas de figures particuliers, non ? J'ai pensé que c'était mieux de faire ça plutôt qu'un seul sujet avec pour titre "questions sur excel"... si j'ai pas bien fait, dites le moi

Salut le forum

Arnoparigo, avec 3 couleurs différentes

Sélectionne ta plage de cellule, Format > Mise en forme conditionnelle

Sous Excel 2007, Accueil > Mise en forme conditionnelle.

Explication :

La formule est =DATEDIF(AUJOURDHUI();B2;"d")<7
La formule est =DATEDIF(AUJOURDHUI();B2;"d")<14
La formule est =DATEDIF(AUJOURDHUI();B2;"d")<21
...

Choisi le motif à afficher, cellule B2 à adapter sur le début de ta plage.

Mytå

Au fait Myta, je ne me suis pas encore penché sur ceci, mais j'ai oublié de préciser que quand je parlais de semaine, je voulais dire "du lundi au dimanche".

Exemple:

Lundi 1er Sept -------> Dimanche 7

Lundi 8 sept ----------> Dimanche 14

Imaginons que nous soyons le mercredi 3 septembre. Et bien il faudrait que la date par exemple "Lundi 8 septembre" soit considérée comme faisant partie de la 2ième, non pas de la première (je précise puisque si l'on s'en tient juste à faire +7 par rapport à la date actuelle, ce n'est pas ça)

Désolé, je suis chiant ^^ !

Salut le forum

arnoparigo a écrit :

Désolé, je suis chiant ^^ !

Non, tu poses mal tes questions, c'est juste cela le problème.

Sinon, tu n'as qu'à cliquer sur ce lien : Joindre un fichier pour que l'on puisse t'aider, et recopier l'adresse sur ta ficelle.

En précisant j'ai cela et je veux obtenir ceci !

Un fichier exemple est plus explicite que du texte.

Mytå

Une proposition :

Si tu as la possibilité d'ajouter une colonne à côté de tes dates, on pourrait y calculer la différence entre le numéro de semaine de ta date, et celle d'aujourd'hui.

Pour cela on utiliserait par exemple une formule de Thibo :

=(ENT(MOD(ENT((A14-2+(JOURSEM(1)=7)*6)/7)+0,6+((JOURSEM(1)=7)*208);52+5/28))+1)-(ENT(MOD(ENT((AUJOURDHUI()-2+(JOURSEM(1)=7)*6)/7)+0,6+((JOURSEM(1)=7)*208);52+5/28))+1)

Ensuite on pourrait écrire un petit code qui attribue les couleurs à tes cellules, en fonction de la valeur du décalage.

Si on arrive à écrire la formule directement en VBA on peut se passer de la colonne supplémentaire, mais là

Yep. Je peux tout à fait inclure une colonne à droite comme tu dis !

Bon,

ma colonne ou sont mes dates c'est AA. Là colonne supplémentaire où est censé s'afficher le décalage entre la date actuelle et la date inscrite en AA, c'est AB.

Je dois rentrer quoi en AB2 pour qu'il inscrive le décalage avec AA2 ?

Re,

En AB2 tu rentres

=(ENT(MOD(ENT(($AA2-2+(JOURSEM(1)=7)*6)/7)+0,6+((JOURSEM(1)=7)*208);52+5/28))+1)-(ENT(MOD(ENT((AUJOURDHUI()-2+(JOURSEM(1)=7)*6)/7)+0,6+((JOURSEM(1)=7)*208);52+5/28))+1)

Je regarde un bout de macro

OK. C'est bien ce que j'avais mis, remplacer avec le AA2 dans la ligne de la formule, mais malheureusement ça ne ma marche pas, il me met "#nom ?" au lieu d'afficher le décalage.

En AA2 j'ai "1 sept" d'inscrit

Tu es sûr de ta formule ?

Chez moi ça marche, même avec AA2 au format texte...

Oilà oilà, j'ai corrigé, petit soucil de trad c bon ça affiche correctement le décalage maintenant

code à tester :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("AA:AA")) Is Nothing Then
Select Case Target.Offset(0, 1)
Case 0
Target.Interior.ColorIndex = 6
Case 1
Target.Interior.ColorIndex = 8
Case 2
Target.Interior.ColorIndex = 44
Case 3
Target.Interior.ColorIndex = 3
Case 4
Target.Interior.ColorIndex = 53
Case Is > 4
Target.Interior.ColorIndex = 13
End Select
End If
End Sub

Edit pour ajout du End Sub, j'ai dû louper mon copier-coller...

Je test de suite.

Par contre, je viens de remarqué que si l'on pars d'une case où il n'y a pas de date renseigné on obtient quand même un résultats. En loccurence aujourd'hui le 30 aout, il affiche un délai de 17 semaines pour une date inexistante. Dommage, serai mieux qu'il affiche rien du tout mais bon, je suppose qu'on ne peut pas tout avoir avec cette méthode.

Je test ta macro

ça ne marche pas. Ne se passe rien. J'ai tenté aussi en changeant le AA:AA que tu as mis par AB:AB ça ne change rien.

AA, là ou sont mes dates.

AB, là ou s'affiche le décalage de la date.

Cette macro là ne marchera que pour les nouvelles dates rentrées en colonne AA (Private Sub Worksheet_Change)

Avec bien sûr la formule de calcul du décalage en colonne AB.

Si ça te prends vraiment trop de temps pour réécrire tes dates, on peut aussi faire un code pour les cellules existantes.

Dis moi.

Pour ne pas avoir de valeur si pas de date, tu peux y aller avec un SI :

=SI($AA2="";"";(ENT(MOD(ENT(($AA2-2+(JOURSEM(1)=7)*6)/7)+0,6+((JOURSEM(1)=7)*208);52+5/28))+1)-(ENT(MOD(ENT((AUJOURDHUI()-2+(JOURSEM(1)=7)*6)/7)+0,6+((JOURSEM(1)=7)*208);52+5/28))+1))

Re. Je vais tester ça ce soir en rentrant, je suis là à la Fnac en train de consulter si tu n'avais pas creuser mon truc (le fada lol)

Je vais tenter en entrant une nouvelle date, pour voir. C'est sûr, ça aurai été mieux que ça rafraichisse d'entrée les valeurs de dates déjà existantes mais à la limite c'est pas trop grave. Sinon, le "SI" je le met à la suite, juste avec le "'End" c ça ?

T'as eu de la chance je me suis mis dessus juste en redescendant du lac...

Non le SI je te l'ai ajouté dans la formule, c'est la formule que tu rentre en colonne AB pour avoir le décalage.

a oui je suis con, c'est une formule, pas une maccro ^^ J'm'emèle les pinceaux là.

Bon je quitte cet imac de stand de fnac et je vois ça ce soir en rentrant.

Mille fois merci je suis pressé de voir ça

Rechercher des sujets similaires à "appliquer couleur automatiquement fonction date"