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

Résolu
shinrei69 Messages postés 75 Date d'inscription dimanche 13 mars 2011 Statut Membre Dernière intervention 30 juin 2011 - 18 mai 2011 à 21:47
cs_Jack Messages postés 14006 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 :)

4 réponses

CGSI3 Messages postés 416 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 7 janvier 2018 1
18 mai 2011 à 21:58
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
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 mai 2011 à 22:03
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
3
shinrei69 Messages postés 75 Date d'inscription dimanche 13 mars 2011 Statut Membre Dernière intervention 30 juin 2011
18 mai 2011 à 22:38
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!
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
19 mai 2011 à 00:10
Voir aussi le Select Case qui peut être très pratique dans certains cas.
0
Rejoignez-nous