VBA erreur dans mon programme

Résolu/Fermé
Macroamateur - Modifié par baladur13 le 14/04/2016 à 14:00
 Macroamateur - 18 avril 2016 à 08:57
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 lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
14 avril 2016 à 12:07
Bonjour,

Tu as fais la méthode pas à pas (F8) en ajoutant comme espions les variables importantes?
0
Macroamateur
14 avril 2016 à 12:13
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 lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
15 avril 2016 à 10:19
Tape sur google méthode pas à pas et espion vba.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 15/04/2016 à 10:19
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
18 avril 2016 à 08:57
Bonjour,

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