XL 2010 Différence de date ( Résolu )

  • Initiateur de la discussion Initiateur de la discussion Kael_88
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Kael_88

XLDnaute Occasionnel
Le Forum,

mon petit problème se trouve au niveau des dates dans un tableau.

à l'ouverture du Fichier,
il faudrait que si une date dans la cellule colonne G ou K est présente et que :
si celle ci se trouve entre 18 et 24 mois de la date d'aujourd'hui, il écrive "à faire" dans la celulle colonne C,
et si cette date est supérieur à 24 mois, il écrit "Suspendu" en rouge dans la celulle colonne C.

Cordialement
 

Pièces jointes

Bonjour Kael_88, johan,

En C2 à tirer vers le bas :
Code:
=SIERREUR(REPT("à faire";OU((AUJOURDHUI()>=MOIS.DECALER(G2;6))*(AUJOURDHUI()<=MOIS.DECALER(G2;24));(AUJOURDHUI()>=MOIS.DECALER(K2;6))*(AUJOURDHUI()<=MOIS.DECALER(K2;24))));"")&SIERREUR(REPT("suspendu";OU(ESTNUM(G2)*(AUJOURDHUI()>MOIS.DECALER(G2;24));ESTNUM(K2)*(AUJOURDHUI()>MOIS.DECALER(K2;24))));"")
Les SIERREUR sont nécessaires s'il peut y avoir des textes en colonnes G ou K.

Pour la question de johan : dans ce cas il y aura les 2 textes édités, on verra donc l'erreur.

Pour la couleur rouge de "suspendu" : utiliser une MFC, c'est facile.

A+
 
Re,

Bon s'il peut y avoir des textes en colonnes G ou K cette formule est préférable :
Code:
=REPT("à faire";OU(SI(ESTNUM(G2);(AUJOURDHUI()>=MOIS.DECALER(G2;6))*(AUJOURDHUI()<=MOIS.DECALER(G2;24)));SI(ESTNUM(K2);(AUJOURDHUI()>=MOIS.DECALER(K2;6))*(AUJOURDHUI()<=MOIS.DECALER(K2;24)))))&REPT("suspendu";OU(SI(ESTNUM(G2);AUJOURDHUI()>MOIS.DECALER(G2;24));SI(ESTNUM(K2);AUJOURDHUI()>MOIS.DECALER(K2;24))))
A+
 
le forum,@Johan ,@job75 ,

merci pour ces réponses tout a fait correct, par contre serait-il possible de le faire en VBA,
sachant que les colonnes sont toujours G et K pour un résultat en C, mais en évitant les formules.

Ps: j'allais oublier, si pas de date en G et en K écrire en Colonne C "Suspendu"Comme si la période était supérieur à 24 Mois

merci

Cordialement
 
Dernière édition:
Re

Puisque la formule va bien et qu'elle est "relativement" simple, inutile de se casser la tête, utilisons-la :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With [A1].CurrentRegion
    If .Rows.Count = 1 Then Exit Sub
    Application.EnableEvents = False 'désactive les évènements
    With .Columns(3).Offset(1).Resize(.Rows.Count - 1)
        .Formula = "=REPT(""à faire"",OR(IF(ISNUMBER(G2),(TODAY()>=EDATE(G2,6))*(TODAY()<=EDATE(G2,24))),IF(ISNUMBER(K2),(TODAY()>=EDATE(K2,6))*(TODAY()<=EDATE(K2,24)))))" & _
            "&REPT(""suspendu"",OR(IF(ISNUMBER(G2),TODAY()>EDATE(G2,24)),IF(ISNUMBER(K2),TODAY()>EDATE(K2,24)),NOT(ISNUMBER(G2))*NOT(ISNUMBER(K2))))"
        .Value = .Value 'supprime les formules
    End With
    Application.EnableEvents = True 'réactive les évènements
End With
End Sub
La formule a été complétée compte tenu de la nouvelle demande du post précédent.

Fichier joint.

A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
173
Réponses
6
Affichages
160
Réponses
10
Affichages
263
  • Résolu(e)
Microsoft 365 DATEDIF
Réponses
11
Affichages
193
  • Question Question
Microsoft 365 Contrôle sur date
Réponses
8
Affichages
278
Retour