Petit probléme [Résolu]

Signaler
Messages postés
3
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
19 juin 2008
-
Messages postés
131
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
17 mars 2010
-
Bonjour a tous

    Je suis un débutant et j'ai un petit probléme avec ma macro que voici:
If Type_de_soudure.Text = "Monopasse" Then
    If 3 < Epaisseur1_0.Value <= 12 And 3 < Epaisseur2_0.Value <= "12" Then
        If Epaisseur1_0.Value > Epaisseur2_0.Value Then
            Mini.Value = Epaisseur2_0.Value * 0.5
            Maxi.Value = Epaisseur1_0.Value * 1.3
         
        ElseIf Epaisseur1_0.Value < Epaisseur2_0.Value Then
            Mini.Value = Epaisseur1_0.Value * 0.5
            Maxi.Value = Epaisseur2_0.Value * 1.3

        End If
    End If
End If
Je souhaite comparer deux valeurs contenue dans deux textbox différentes et suivant celle qui plus élevée que l'autre la multipliée par un certain nombre et la mettre dans une autre textbox. Pour toute les valeurs entre 3 et 9 ma macro fonctionne mais lorsque l'une des valeurs contenue dans une de mes deux textbox à comparer avec l'autres est supérieure ou égale à 10 (Epaisseur1_0.value 10 et Epaisseur2_0 5) alors il me dit que Epaisseur1_0 est inférieure à Epaisseur2_0 car il ne prend que le premier chiffre du nombre 10 en l'occurence 1.

6 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Salut
Les TextBox sont sensées accueillir du Texte - Lapalisse (1470-1525)
Si le contenu correspond à des chiffres, transforme leur contenu en chiffre avec Val()
ET compare avec des chiffres et surtout pas avec des textes : ...Value <= "12"  non

Donc, à chaque fois que tu veux traiter numériquement une valeur, utilise Val. Exemple :
   Val(Epaisseur2_0.Value) <= 12

Pour les équations, je n'ai pas regardé.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
J'aurai plutôt utilisé une conversion du style CDbl() plutôt que Val(), non ?
Messages postés
131
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
17 mars 2010

Salut Yogan,
dis moi si ça a marché ce qu'on t'a donné

Nanardino64
Développons-nous, développeurs.
Messages postés
3
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
19 juin 2008

Salut Nanardino

Pour l'instant cela n'a pas marché. Dans les deux cas, ma macro fait toujours la même chose, quand le nombre est supérieur à 10 elle ne prend que le premier chiffre de mon nombre c'est à dire que 4 >10 autrement dit 4>1 normal.
Messages postés
3
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
19 juin 2008

C'est bon cela fonctionne comme il faut avec val(), l'erreur était de moi.
Merci à tous pour vos réponses
Messages postés
131
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
17 mars 2010

Pense à valider la bonne réponse!!!

Nanardino64
Développons-nous, développeurs.