VBA erreur dans mon programme [Résolu/Fermé]

Signaler
-
 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

Messages postés
8554
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
580
Bonjour,

Tu as fais la méthode pas à pas (F8) en ajoutant comme espions les variables importantes?

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 ?
Messages postés
8554
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
580
Tape sur google méthode pas à pas et espion vba.
Messages postés
16431
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
9 avril 2021
3 162
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

Bonjour,

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