• Initiateur de la discussion Initiateur de la discussion sanigui
  • 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 !

S

sanigui

Guest
Bonjour,
je souhaite à l'aide d'une macro colorer certaines cellules en fonction de plusieurs conditions.
ci-dessous la macro que j'essai de mettre en place (et cela sur toute la colonne sélectionnée) :

Si A2 = rien alors rien
Si B2 = rien alors rien
Si A2 + 18 > Aujourdhui = Vrai
alors colorer case en rouge
sinon rien
Fin si
Fin si
Fin si

Avez-vous des solutions à me proposer ?
Merci
 
Re : Macro sur date

Bonjour, sanigui 🙂

colorer certaines cellules

- Pourriez- vous être un peu plus explicite, voire même joindre un un court exemple sur un fichier Excel sans données confidentielles, avec les différents cas, le résultat souhaité et les explications ?
- Avez-vous envisagé la mise en forme conditionnelle, en alternative au VBA ?
 
Re : Macro sur date

Salut

=SI(A2="";"";SI(B2="";"";SI(A2>AUJOURDHUI()+18;"Vrai";"FAUX")))

Voilà, une formule si tu veux. ensuite tu peux mettre ta mise en forme conditionnel pour la couleur de ta cellule.

Cordialement
 
Re : Macro sur date

Re-bonjour,

Voici la macro qui correspond à ton fichier exemple et non à ce que tu as écrit dans ton post #1 :
VB:
Sub relance()
    Dim i
    For i = 2 To Range("A65536").End(xlUp).Row
        If Cells(i, 1) + 18 < Date And Cells(i, 2) = "" Then Cells(i, 2).Interior.ColorIndex = 3
    Next
End Sub

En effet, dans ton post #1,
Si A2 = rien alors rien
Si B2 = rien alors rien
ce qui est différent dans ton fichier.

A+
 
Re : Macro sur date

Re-bonsoir,

Ce n'est pas une raison pour perdre les bonnes vieilles habitudes que sont bonjour ou bonsoir, merci, A+.

Voici cependant une correction du code :
VB:
Sub relance()
    Dim i
    For i = 2 To Range("A65536").End(xlUp).Row
        If Cells(i, 1) + 18 < Date And Cells(i, 2) = "" And Cells(i, 1) <> "" Then
            Cells(i, 2).Interior.ColorIndex = 3
        Else
            Cells(i, 2).Interior.ColorIndex = 0
        End If
    Next
End Sub

A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
323
Réponses
4
Affichages
586
Réponses
6
Affichages
637
Réponses
6
Affichages
342
Retour