Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion drisou
  • 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 !

drisou

XLDnaute Occasionnel
Bonjour le forum,
dans ma feuille de calcul, dans la colonne "c" j'ai des dates ,lorsque le mois se termine par 30 , la cellule concernée se colorie en rouge via mon code, mon probleme est que je ne sais pas comment faire pour que lorsque le mois se termine par 31 la cellule qui contient 31 se colorie en rouge et pas aussi la cellule qui contient 30.

merci pour votre aide.

voici mon bout de code:

Sub inventaire()

Dim x As Variant


For x = Range("c65500").End(xlUp).Row - 280 To Range("c65500").End(xlUp).Row

If Left(Cells(x, 3), 2) = 31 Then

Cells(x, 3).Interior.ColorIndex = 3

else

If Left(Cells(x, 3), 2) <> 31 and Left(Cells(x, 3), 2) = 30 Then


Cells(x, 3).Interior.ColorIndex = 3

End If
End if
Next


End Sub
 
Re : a condition

Bonsoir Drisou, bonsoir le forum,

Peut-être comme ça :
Code:
Sub inventaire()
Dim x As long

For x = Range("C65500").End(xlUp).Row - 280 To Range("C65500").End(xlUp).Row
    Cells(x, 3).Interior.ColorIndex = IIf(Left(Cells(x, 3), 2) = 31, 3, xlNone): Exit Sub
    Cells(x, 3).Interior.ColorIndex = IIf(Left(Cells(x, 3), 2) = 30, 3, xlNone)
Next
End Sub
 
Re : a condition

Bonsoir à tous
essaye ça

Code:
Sub inventaire()

 Dim x As Long
 For x = Range("c65500").End(xlUp).Row - 280 To Range("c65500").End(xlUp).Row
 If Month(Range("C" & x).Value + 1) <> Month(Range("C" & x).Value) Then
    Cells(x, 3).Interior.ColorIndex = 3
 End If
 Next
 End Sub
 
Re : a condition

Bonsoir le fil, bonsoir le forum,

Sans fichier exemple difficile de trouver la bonne réponse... Essaie comme ça :
Code:
Sub inventaire()
Dim x As long

For x = Range("C65500").End(xlUp).Row - 280 To Range("C65500").End(xlUp).Row
    Cells(x, 3).Interior.ColorIndex = IIf(Day(Cells(x, 3)) = 31, 3, xlNone): Exit Sub
    Cells(x, 3).Interior.ColorIndex = IIf(Day(Cells(x, 3)) = 30, 3, xlNone)
Next
End Sub
 
Re : a condition

Bonsoir le fil, bosnoir el forum,

Une solution proche de celle de Jpb :
Code:
Sub inventaire()
Dim x As Long
For x = Range("C65500").End(xlUp).Row - 280 To Range("C65500").End(xlUp).Row
    If Month(Cells(x, 3).Value) <> Month(Cells(x - 1, 3).Value) Then Cells(x - 1, 3).Interior.ColorIndex = 3
Next x
End Sub
 
Re : a condition

Bonsoir le forum,
jpb388 , Robert , merci a vous
ca fonctionne impeccable,
mon probleme était que dans la colonne "c" j'avais entre les dates ,des cellules contenant du texte,

en rajoutant une condition pour agir sur les cellules avec des valeurs numérique c'est bon.

désolé car j'avais ma demande était incomplète.

merci encore et bonne soirée.
 
- 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

Réponses
15
Affichages
784
Réponses
5
Affichages
910
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…