PatCatNat’s, site de Patrice MOREL
Vous êtes ici : Accueil » Inform@tic » Excel ou Calc » Bogues code VBA

Bogues code VBA

D 10 septembre 2009     H 10:56     A Patrice MOREL    


Il y a des trucs que je ne m’explique pas et pourtant après modif çà marche...

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 !...

Dans la même rubrique

17 janvier – Bogue en RechercheV avec des parenthèses

12 mai 2021 – Un lien entre les cellules

12 novembre 2019 – Formatages divers

4 janvier 2018 – Incrémentation de lignes avec un classeur lié.

3 août 2017 – Nom de fichier dans une cellule