Comparer valeurs Texbox a une valeurs en %

bibbip35

XLDnaute Occasionnel
Bonjour a tous

Jme permets de vous exposer mon pb...

Je renseigne aujourd'hui 1 formulaire vba ou il y a 1 texbox dont la valeurs est en %
Je souhaiterais qu'il ya a 1 msg bos si la valeurs > 100%

J'ai crée le code ci-dessous:

If TextBox11.Text > "100%" Or TextBox11.Text < "0%" Then
MsgBox "Attention, le % de la production affecter sur Janvier" & Chr(13) & "est incohérent : Il doit se situer entre 0% et 100% ", vbCritical, "Données Incohérantes"
Exit Sub
End If
If TextBox11.Text < "100%" Then
Select Case MsgBox("Attention, le % de la production sur Janvier est inférieur a 100% " & Chr(13) & "Etes-vous certain de votre choix ? " & Chr(13) & "Si oui , la production doit être affectée également sur une autre ligne ", vbOKCancel + vbQuestion, "Données Incohérantes")
Case vbOK
'procédure si click sur Ok
Case vbCancel
Exit Sub
End Select
End If


Le problème est que quand ca ne compare pas correctement...sauf qd je mets 10%??? Ca fonctionne?

Il ya t-il qq de chose de particulier qd on utilise le vba et les %?

Merci à tous

Bibbip35
 

Staple1600

XLDnaute Barbatruc
Re : Comparer valeurs Texbox a une valeurs en %

Bonsoir à tous

bibbip35
•Permets-toi aussi de nous exposer ton fichier Excel exemple avec ton userform + ton code VBA inside ;)
 

bibbip35

XLDnaute Occasionnel
Re : Comparer valeurs Texbox a une valeurs en %

Merci pour l'intrêt portée au fil de dsicussion

Vosu trouverez ci- le fichier exemple du pb...
Pour faire simple, qd je tape 1 valeurs à 100% il n'y a pas de message

Qd je tape 1 valeurs < 100%
("Attention, le % de la production sur Février est inférieur a 100% " & Chr(13) & "Etes-vous certain de votre choix ? " & Chr(13) & "Si oui , la production doit être affectée également sur une autre ligne ",


Qd je tape 1 valeurs >100%
MsgBox "Attention, le % de la production affecter " & Chr(13) & "est incohérent : Il doit se situer entre 0% et 100% ", vbCritical, "Données Incohérantes"
Avec EXIT SUB pour bloquer la saisie

Merci d'avance

Bibbip35
 

Fichiers joints

Docmarti

XLDnaute Occasionnel
Re : Comparer valeurs Texbox a une valeurs en %

Bonsoir.

La fonction Split pour supprimer le caractère "%".

La fonction Replace au cas où il y aurait un séparateur décimal dans la valeur.

Code:
splitTexbox11 = Split(TextBox11.Value, "%")
ValTextBox11 = Val(Replace(splitTexbox11(0), ",", "."))
   'La fonction Val donne une valeur numérique qu'il faut comparer ensuite avec des valeurs numériques
If ValTextBox11 > 100 Or ValTextBox11 < 0 Then

Cordialement

Docmarti
 

bibbip35

XLDnaute Occasionnel
Re : Comparer valeurs Texbox a une valeurs en %

1 grand Merci

Ca fonctionne parfaitement

Par contre, est ce possible d'avoir 1 msgbox si on oublie le caractères % lors de la saisie?

Merci et A+
 

Docmarti

XLDnaute Occasionnel
Re : Comparer valeurs Texbox a une valeurs en %

bibbip35

Code:
If TextBox11 <> "" And InStr(TextBox11, "%") = 0 Then

'Tu peux ajouter le caractère % oublié par l'utilisateur
 TextBox11 = TextBox11 & "%"

 'Ou lui signaler l'oubli dans un message
 MsgBox "On n'oublie pas le caractère % s.v.p."
 
End If

Cordialement

Docmarti
 

Discussions similaires


Haut Bas