[Catégorie modifiée VB6 -> VBA] Problème de déclaration de variable. [Résolu]

Messages postés
75
Date d'inscription
dimanche 13 mars 2011
Statut
Membre
Dernière intervention
30 juin 2011
- - Dernière réponse : cs_Jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
- 19 mai 2011 à 00:10
Bonsoir, j'ai rencontré un petit problème avec ma déclaration de variables au jourd'hui, malgrès le nombre d'heure passée depuis sur internet, impossible de trouver la solution.

Je m'explique, une ColorBox, un panel et une cellule excel devrait se mettre en vert si ma variable est comprise entre plusieurs encadrements. Et en rouge si elle n'est dans aucun. Mais ceux ci reste rouge tout le temps, même si par test, je défini à ma variable une valeur qui elle, seras comprise entre les deux nombres.

Je vous met le code :


Private Sub ButtonTest_Click()
poidsattendu = 15  'test
poidsrecu = 12.78  'test
Label5.Caption = poidsrecu
Nb_line = Nb_line + 1

Range("A1").Offset(Nb_line, 0).Value = poidsattendu 'ecrire ds le excel
Range("B1").Offset(Nb_line, 0).Value = poidsrecu ' pareil


If (17.11 > poidsrecu > 17.085) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If
If (14.25 > poidsrecu > 14.225) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If
If (4.6 > poidsrecu > 4.575) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If
If (16.67 > poidsrecu > 16.6558) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If
If (3.46 > poidsrecu > 3.4458) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If
If (14.02 > poidsrecu > 13.995) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If
If (3.82 > poidsrecu > 3.795) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If
If (13.7 > poidsrecu > 13.675) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If
If (14.4 > poidsrecu > 14.375) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If
If (4.5 > poidsrecu > 4.475) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If
If (8.2 > poidsrecu > 8.18) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If
If (2.78 > poidsrecu > 2.7658) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If
If (16.04 > poidsrecu > 16.015) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If
If (9.8 > poidsrecu > 9.9775) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
    End If
If (20.2 > poidsrecu > 20.175) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If
If (17.5 > poidsrecu > 17.475) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If
If (12 > poidsrecu > 11.9858) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If
If (12.8 > poidsrecu > 12.775) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If
If (5.85 > poidsrecu > 5.8358) Then
ColorBox.BackColor = vbGreen 'code vert
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbGreen
    Label5.BackColor = vbGreen
End If

If ColorBox.BackColor <> vbGreen Then
ColorBox.BackColor = vbRed
    Range("B1").Offset(Nb_line, 0).Interior.Color = vbRed
    Label5.BackColor = vbRed
    End If
End Sub



Merci d'avance :)
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
417
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1
3
Merci
Bonsoir,
Tu dois décomposer tes comparaisons:

If (17.11 > poidsrecu > 17.085) Then
....

If (17.11 > poidsrecu) and (poidsrecu > 17.085) Then

Bonne prog CGSI3

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 212 internautes nous ont dit merci ce mois-ci

Commenter la réponse de CGSI3
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
3
Merci
Bonjour,

Où as-tu "dégotté" une telle syntaxe ?

Fais donc ce test et analyse
poidsrecu = 5  'test
If (6 > poidsrecu > 4) Then
  MsgBox "6 > poidsrecu > 4" & "  bon"
Else
  MsgBox "6 > poidsrecu > 4" & "  pas bon"
End If
If (poidsrecu < 6 And poidsrecu > 4) Then
  MsgBox "poidsrecu < 6 And poidsrecu > 4" & "  bon"
Else
  MsgBox "poidsrecu < 6 And poidsrecu > 4" & "  pas bon"
End If

C'est un minimum vital !


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 212 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
75
Date d'inscription
dimanche 13 mars 2011
Statut
Membre
Dernière intervention
30 juin 2011
0
Merci
Désolé, je ne suis même pas ce qu'on pourrait classer comme un "débutant" comme ce n'est pas du tout mon métier à la base^^. Disons que j'ai créer mes lignes de codes par rapport à des "milliers" de tutoriels. Je vous remercie en tout cas, tout marche nickel. Encore deux trois trucs à boucler et tout seras en fonctionnement :D.

Encore merci, et bonne soirée!
Commenter la réponse de shinrei69
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
61
0
Merci
Voir aussi le Select Case qui peut être très pratique dans certains cas.
Commenter la réponse de cs_Jack