Mettre la ligne en couleur quand la variable dépasse l'intervall
Skizzlo
Messages postés
2
Statut
Membre
-
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous
J'ai quelques difficulté bien que mon programme ne m'affiche pas d'erreur.
Lorsque ma variable est sup ou inf à 5% de sa valeur toute la ligne doit se mettre en rouge
... mais rien ne se passe
si quelqu'un à une idée je suis preneuse !
voilà mon code
Sub cinqpourcent()
Dim var1 As Integer 'g/m² de la fiche article
Dim var2 As Integer 'g/m² mesuré en contrôle qualité
Dim cote_mini As Integer 'cote mini cad moins les 5%
Dim cote_maxi As Integer 'cote maxi cad plus les 5%
Dim noligne As Integer
noligne = 1
Sheets("Feuil1").Cells(noligne, 5).Value = var2
Sheets("Feuil1").Cells(noligne, 6).Value = var1
While var2 <> 0
cote_mini = var1 - (var1 * 0.05)
cote_maxi = var1 + (var1 * 0.05)
If var2 < cote_mini Or var2 > cote_maxi Then
Rows(noligne).Interior.Color = RGB(255, 0, 0)
End If
noligne = noligne + 1
Wend
End Sub
J'ai quelques difficulté bien que mon programme ne m'affiche pas d'erreur.
Lorsque ma variable est sup ou inf à 5% de sa valeur toute la ligne doit se mettre en rouge
... mais rien ne se passe
si quelqu'un à une idée je suis preneuse !
voilà mon code
Sub cinqpourcent()
Dim var1 As Integer 'g/m² de la fiche article
Dim var2 As Integer 'g/m² mesuré en contrôle qualité
Dim cote_mini As Integer 'cote mini cad moins les 5%
Dim cote_maxi As Integer 'cote maxi cad plus les 5%
Dim noligne As Integer
noligne = 1
Sheets("Feuil1").Cells(noligne, 5).Value = var2
Sheets("Feuil1").Cells(noligne, 6).Value = var1
While var2 <> 0
cote_mini = var1 - (var1 * 0.05)
cote_maxi = var1 + (var1 * 0.05)
If var2 < cote_mini Or var2 > cote_maxi Then
Rows(noligne).Interior.Color = RGB(255, 0, 0)
End If
noligne = noligne + 1
Wend
End Sub
1 réponse
-
Bonjour,
En exécutant le code en mode PAS A PAS je pense que tu aurais pu déjà trouver une première anomalie.
En effet, tu sembles vouloir assigner à tes cellules le cotenu de variables qui n'en contiennent pas...Sheets("Feuil1").Cells(noligne, 5).Value = var2 Sheets("Feuil1").Cells(noligne, 6).Value = var1
Je pense qu'en fait, c'est ceci que tu voulais écrirevar2 = Sheets("Feuil1").Cells(noligne, 5).Value var1 = Sheets("Feuil1").Cells(noligne, 6).Value
-
Bonjour jordane45
Effectivement j'ai remarqué ça aussi,
Si je lui donne une cellule bien spécifique ça marche
lorsque que j'essaie de le mettre avec une boucle
soit c'est une ligne sur deux soit toute la feuille est mise en rouge ..
en tout cas merci de ta réponse !- Ensuite... deuxième souci .. que tu aurais du également voir si tu avais pris le soin d'éxécuter ton code en mode pas à pas ...
Tu fais une boucle :While var2 <> 0
... sauf que var2 ne change jamais .... vu que tu l'as initialisé AVANT ta boucle et qu'ensuite tu n'en changes pas la valeur....
Il faudrait également "remplir" tes valeurs var1 et var2 DANS la boucle.
-