Mise en forme conditionnelle - date d'échéance
Bonjour,
J'ai un fichier de suivi de formation en entreprise. J'ai, dans le tableau de suivi, integré une colonne avec la date d'obtention du SST, puis une colonne avec la date de recyclage.
Je voulais utiliser les mises en forme conditionnelles pour :
- Prévenir en vert quand le recyclage doit se faire dans l'année glissante (par rapport à la date du jour)
- Prévenir en orange quand le recyclage doit se faire dans les 6 mois
- Prévenir en rouge quand le recyclage doit se faire dans les 3 mois
- noter en rouge foncé et barré quand la date de recyclage dépasse la date du jour.
- Afficher une boite texte si l'une des dates de la colonne P de mon tableau est dans le rouge (moins de 3 mois)
J'ai tente de faire ca :
(même formule pour les autres, en changeant le "-3" en "-6" et "-12"
__________________________________
Comme vous le voyez, là où je devrais avoir la cellule P2 sans couleur, je l'ai en rouge, ce qui ne correspond pas à l'attendu.
Je dois me louper quelques part dans mes explorations :D
__________________________________
Pour la boite de texte, je ne sait pas faire du tout....
Pourriez vous m'aider ?
Version excel : dernière du pack office, version bureautique
Fichier test pour fouiller les formules et mon bazar :
Merci d'avance à tout ceux qui voudront bien m'aider
Bonjour,
vos formules sont basées sur la colonne O et pas sur la colonne P.
Et mieux vaut mettre des formules de ce genre ;
=AUJOURDHUI()>MOIS.DECALER(P2;-12)Pas besoin de choisir "entre... et entre ..."
Pour la message box il faudra du VBA, elle doit afficher quoi ?
Edit : une tentative mais je ne maîtrise pas le VBA, il doit y avoir bien mieux ;
Private Sub Worksheet_Change(ByVal Target As Range)
For Each c In ActiveSheet.Range("P2:P28").Cells
If c.Value > 1 And Now() >= (c.Value - 90) Then
MsgBox "Date max dans moins de 3 mois"
End If
Next
End SubLe message apparaît pour chaque ligne qui est dans mois de 90 jours à chaque modif dans la feuille.
Et pour la MFC ;
Mais oui, suis-je bête, je me referrai à la mauvaise cellule
Merci !
Pour la VBA, j'espérais pouvoir faire sans : certains collaborateurs sont sur la version excel en ligne et les macro ne marche pas en ligne ...
Avec la validation des données on peut faire apparaître un message en fonction de ce qu'on tape dans une cellule (du genre si date dans moins de 3 mois), mais ici c'est le résultat d'une formule qui est visiblement mise avant d'entrer dans les 3 derniers mois, donc le message n'apparaîtra pas.
Ou alors on met une formule à côté avec une condition et du texte apparaîtra dans cette cellule, mais ce ne sera pas une "message box". Pour R2 ;
=SI(ET(P2>=AUJOURDHUI();P2<(MOIS.DECALER(AUJOURDHUI();3)));"Reste moins de 3 mois !";"")Hello,
j'ai un petit peu amélioré le code, ça pourra toujours servir à ceux qui n'utilisent pas Excel en ligne ;
Private Sub Worksheet_Change(ByVal Target As Range)
For Each c In ActiveSheet.Range("P2:P28").Cells
If c.Value > 1 And Now() <= (c.Value) And Now() >= DateAdd("m", -3, c) Then
MsgBox "Recyclage de " & c.Offset(0, -15).Value & " " & c.Offset(0, -14).Value & " dans MAX 3 mois !"
End If
Next
End SubEt pour les autres il y a la formule en R2 que j'ai postée hier, on peut juste la modifier un poil pour rajouter = après < ;
=SI(ET(P2>=AUJOURDHUI();P2<=(MOIS.DECALER(AUJOURDHUI();3)));"Reste moins de 3 mois !";"")Idem pour les MFC.
Et la formule en P2 peut être modifiée comme ceci ;
=SI(ESTVIDE([@[Date SST]]);"";MOIS.DECALER([@[Date SST]];24))J'ai juste changé la date en O7 pour le test ;