J'ai un objet (c'est-à-dire un texte en forme de rectangle), j'aimerais que la forme change de couleur (état) en fonction du texte dans un cel (à partir d'une liste déroulante). J'utilise les fonctions 'If' pour formater la forme actuellement, et je pense que c'est la meilleure façon; Cependant je ne sais pas comment avoir plusieurs formules 'IF' fonctionnant dans VBA.Plusieurs formats conditionnels sur un seul objet en VBA
J'ai exécuté une formule 'If' réussie pour le formatage, mais celle-ci ne pouvait changer que de 2 couleurs. Voici ma seule formule "si". Lorsque j'ai ajouté d'autres conditions/formules 'If' au script, la couleur de l'objet n'a pas pu être modifiée. Le plus proche était avec les formules 'If' et 'end If' pour couvrir toutes les possibilités. Voici mon extraction la plus proche (de mon expérience).
If Range("I2") = "Yes" Then
Worksheets("M2").Shapes("Rect1").Fill.ForeColor.RGB = RGB(0, 128, 0)
End If
If Range("I2") = "No" Then
Worksheets("M2").Shapes("Rect1").Fill.ForeColor.RGB = RGB(218, 9, 4)
End If
If Range("I2") = "In Progress" Then
Worksheets("M2").Shapes("Rect1").Fill.ForeColor.RGB = RGB(201, 129, 13)
End If
If Range("I2") = "Deviation" Then
Worksheets("M2").Shapes("Rect1").Fill.ForeColor.RGB = RGB(79, 79, 79)
Else
Worksheets("M2").Shapes("Rect1").Fill.ForeColor.RGB = RGB(0, 102, 204)
End If
Pouvez-vous essayer de [modifier votre question] (http://stackoverflow.com/posts/11666218/edit) et en retrait de votre code correctement, puis sélectionnez-le et appuyez sur la ' {} 'bouton pour le rendre joli? – assylias
Vous devez utiliser l'instruction "ElseIf". Dans ce cas, j'irais probablement avec un cas Select. – Trace