Mes images (feu tricolore) ne s’affichent pas dans l’odre voulu (premier plan) :
L’exemple suivant est :
– mettre en premier plan le feu rouge si les cellules "F6" et "K6" sont inférieures à 100%
– mettre en premier plan le feu orange si les cellules "F6" ou "K6" sont inférieures à 100%
– mettre en premier plan le feu vert si les cellules "F6" et "K6" sont supérieures à 100%
Le code qui ne fonctionne pas alors que tout semble correct :
Private Sub Workbook_Open()
If Range("F6") < 1 And Range("K6") < 1 Then
ActiveSheet.Shapes("Picture 9").ZOrder msoBringToFront 'Rouge
ElseIf Range("F6") < 1 And Range("K6") >= 1 Then
ActiveSheet.Shapes("Picture 10").ZOrder msoBringToFront 'Orange
ElseIf Range("F6") >= 1 And Range("K6") < 1 Then
ActiveSheet.Shapes("Picture 10").ZOrder msoBringToFront 'Orange
ElseIf Range("F6") >= 1 And Range("K6") >= 1 Then
ActiveSheet.Shapes("Picture 6").ZOrder msoBringToFront 'Vert
End If
End Sub
Il faut simplement sauter une ligne en début de code et une en fin de code :
Private Sub Workbook_Open()
If Range("F6") < 1 And Range("K6") < 1 Then
ActiveSheet.Shapes("Picture 9").ZOrder msoBringToFront 'Rouge
ElseIf Range("F6") < 1 And Range("K6") >= 1 Then
ActiveSheet.Shapes("Picture 10").ZOrder msoBringToFront 'Orange
ElseIf Range("F6") >= 1 And Range("K6") < 1 Then
ActiveSheet.Shapes("Picture 10").ZOrder msoBringToFront 'Orange
ElseIf Range("F6") >= 1 And Range("K6") >= 1 Then
ActiveSheet.Shapes("Picture 6").ZOrder msoBringToFront 'Vert
End If
End Sub
Pour moi cela restera un bogue tant que je n’aurais pas d’explication logique !...