Programme VBA pour changer la coueleur en fonction de notre quantité

Bonjour, je suis nouveau sur le forum. J'aimerai bien avoir de l'aide svp sur cette macro que j'essaie de créer.

Je dois crire un programme VBA qui récupère les données déjà saisie dans un tableau, ensuite le programme doit comparer la valeur de la cellule « quantité actuelle » avec la valeur de la case « seuil min » et la case « seuil max ». Une fois la comparaison faite le programme doit changer la couleur de toute la ligne de la case selon les conditions suivante :

  1. Vert : quand la quantité actuelle est entre le seuil min et seuil max.
  2. Rouge : quand la quantité actuelle est inférieur au seuil min.

Jaune : quand la quantité actuelle est supérieure au seuil max

image

Vous remerciant par avance.

Salut Le foufou,

M'a tout l'air d'un exercice scolaire...
Qu'as-tu fait jusqu'à présent ?


A+

Salut Currulis57, merci pour ton message.

Je te joins le début de mon travail.

Je suis actuellement bloqué.

11qtite-vba.xlsm (52.53 Ko)

Salut Le foufou,

première chose : pour ta facilité de lecture de ton code, apprends à l'indenter selon les blocs logiques.

For i = 3 To 32
    If Range(C3) < Range(D3) Then
        Interior.ColorIndex = RGB(50, 200, 100)

    End If
Next i

La boucle FOR/NEXT est supérieure au bloc IF/ENDIF dont l'instruction est elle-même encore d'un niveau d'exécution inférieur.

- une référence Range doit être entourée de guillemets : Range("C3") ;
- une référence Range doit être accompagnée de sa propriété Value si on veut lire sa valeur : Range("C3").value ;
- tu peux (si le prof est d'accord) utiliser Cells dont Value est la propriété standard : Cells(3,3) = (3e ligne, 3e colonne) = [C3] ;
- une propriété Interior.Color s'applique à une cellule ou ensemble de cellules, ici non spécifiées : Range("C3").Interior.Color= ...

Comme toutes tes valeurs sont disponibles, à part i pour la boucle FOR, il n'y a rien à déclarer.
Puisque tu parcours une boucle, tu dois utiliser l'index de la boucle comme variable pour lire les infos de ces lignes. Sur ton travail, tu bloques tout sur [C3] - [D3] !!!

If Range("C" & i).Value < Range("D" & i).Value Then

Mâche bien, digère et reviens avec quelque chose de mieux, stp!


A+

Rechercher des sujets similaires à "programme vba changer coueleur fonction notre quantite"