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

Signaler
Messages postés
75
Date d'inscription
dimanche 13 mars 2011
Statut
Membre
Dernière intervention
30 juin 2011
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
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 :)

4 réponses

Messages postés
416
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
227
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
Messages postés
75
Date d'inscription
dimanche 13 mars 2011
Statut
Membre
Dernière intervention
30 juin 2011

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!
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
68
Voir aussi le Select Case qui peut être très pratique dans certains cas.