VBA erreur dans mon programme

Résolu
Macroamateur -  
 Macroamateur -
Bonjour à tous,

J'ai réalisé un programme sous VBA qui consiste à afficher une valeur sur fond rouge si cette dernière n'est pas comprise dans un intervalle calculé.
Ensuite, lorsque cette dernière est en dehors de l'intervalle, une croix se place dans une cellule nommée "insatisfaisant" et à l'inverse, si elle est comprise dans l'intervalle une croix se coche dans la cellule "satisfaisante". Cependant, mon programme comporte des erreurs, les croix ne figurent pas là ou elles devraient être et je n'arrive pas à déceler d'ou viennent les anomalies.
Est-ce que quelqu'un aurait l'amabilité de m'aider ? :)
J'espère avoir été clair, auquel cas je peux être plus précise sur mes explications!
Ci-dessous le programme


Sub test()
Dim ligne As Integer
For ligne = 5 To 11

    Cells(ligne, 4).Select
    If (Cells(ligne, 4).Value < Cells(ligne, 3).Value Or Cells(ligne, 4).Value > Cells(ligne, 5).Value) Then
       
        Cells(ligne, 4).Interior.Color = RGB(255, 0, 0)
        Cells(ligne, 7).Value = "X"
        Cells(ligne, 6).Value = ""
    Else
        
         Cells(ligne, 4).Interior.Color = RGB(255, 255, 255)
         Cells(ligne, 6).Value = "X"
         Cells(ligne, 7).Value = ""
         
    End If
     ligne = ligne + 1
   Next
End Sub




EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
Bonjour,

Tu as fais la méthode pas à pas (F8) en ajoutant comme espions les variables importantes?
0
Macroamateur
 
J'ai fait la méthode pas à pas, cela me surligne seulement la première ligne en jaune donc je n'ai pas compris le principe ?
Comment ajouter les espions en variables importantes ?
0
Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
Tape sur google méthode pas à pas et espion vba.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
bonjour

remplace le OR par un AND
pour mettre dans l'intervalle il faut que la valeur soir Supérieure à x ET inférieure à Y
au passage:
le
cells(ligne,4).select est inutile

 Michel
0
Macroamateur
 
Bonjour,

D'accord je rectifie mon erreur! Oui en effet le AND est plus approprié :)
Merci.
0