Christian3000
XLDnaute Nouveau
Bonjour à tous,
Je sèche sur deux problèmes avec les formules imbriquées if: j'ai mis au point un petit calendrier dont je voudrais que les case se colorent et/ou se biffent selon 2 conditions (cf.code plus bas). Ça marche très bien lorsque une seule condition est remplie avec une seule conséquence. Mais je ne m'en sors plus lorsque la cellule respecte les deux conditions (dans ce cas là elle devrait se colorer et le texte dedans se biffer! En fait, selon la structure de mon code, elle ne fera que se colorer...
Deuxième problème lié au premier: ma dernière ligne (clearformat) permet de supprimer la couleur de la cellule si la condition 1 a changé. J'aimerais également pouvoir supprimer le "biffage" si la condition 2 a changé. J'ai essayé cela...
Else
annee.Cells(X, y).Interior.ColorIndex = clearformat and _
annee.Cells(X, y).Font.Strikethrough = false
...mais ça ne marche pas!
Si vous pouviez m'aider, ça serait génial!
Salutations à tous,
Christian
Le code:
For X = 1 To 28
For y = 1 To 24
'Condition 1:
If (annee.Cells(X, y).Value = Range("int1").Value) _
Or (annee.Cells(X, y).Value = Range("int2").Value) _
Or (annee.Cells(X, y).Value = Range("int3").Value) _
Or (annee.Cells(X, y).Value = Range("int4").Value) Then
annee.Cells(X, y).Interior.ColorIndex = 6
'Condition 2:
ElseIf ((annee.Cells(X, y).Value >= Range("dv").Value) _
And (annee.Cells(X, y).Value <= Range("fv").Value)) Then
annee.Cells(X, y).Font.Strikethrough = True
Else
annee.Cells(X, y).Interior.ColorIndex = clearformat
End If
Next y
Next X
Je sèche sur deux problèmes avec les formules imbriquées if: j'ai mis au point un petit calendrier dont je voudrais que les case se colorent et/ou se biffent selon 2 conditions (cf.code plus bas). Ça marche très bien lorsque une seule condition est remplie avec une seule conséquence. Mais je ne m'en sors plus lorsque la cellule respecte les deux conditions (dans ce cas là elle devrait se colorer et le texte dedans se biffer! En fait, selon la structure de mon code, elle ne fera que se colorer...
Deuxième problème lié au premier: ma dernière ligne (clearformat) permet de supprimer la couleur de la cellule si la condition 1 a changé. J'aimerais également pouvoir supprimer le "biffage" si la condition 2 a changé. J'ai essayé cela...
Else
annee.Cells(X, y).Interior.ColorIndex = clearformat and _
annee.Cells(X, y).Font.Strikethrough = false
...mais ça ne marche pas!
Si vous pouviez m'aider, ça serait génial!
Salutations à tous,
Christian
Le code:
For X = 1 To 28
For y = 1 To 24
'Condition 1:
If (annee.Cells(X, y).Value = Range("int1").Value) _
Or (annee.Cells(X, y).Value = Range("int2").Value) _
Or (annee.Cells(X, y).Value = Range("int3").Value) _
Or (annee.Cells(X, y).Value = Range("int4").Value) Then
annee.Cells(X, y).Interior.ColorIndex = 6
'Condition 2:
ElseIf ((annee.Cells(X, y).Value >= Range("dv").Value) _
And (annee.Cells(X, y).Value <= Range("fv").Value)) Then
annee.Cells(X, y).Font.Strikethrough = True
Else
annee.Cells(X, y).Interior.ColorIndex = clearformat
End If
Next y
Next X