Fonction exit textbox

Résolu/Fermé
19marko65 Messages postés 23 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 28 octobre 2013 - 11 sept. 2012 à 17:11
19marko65 Messages postés 23 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 28 octobre 2013 - 13 sept. 2012 à 05:05
Bonjour,
j'ai un Uf qui contient des frames. Sur une Frame j'ai 3 textbox, dont une ne peut recevoir que des valeurs numériques comprises entre 1 et 20 . si la valeur est <à 6 aucune action et on passe à la textbox suivante, par contre si valeur >à5 un msgbox (vbyes no) demande de confirmer le taux >à5.
dans le cas de vbyes =true (je confirme le taux) alors le taux >à5 est gardé, sinon la valeur 5 est consigné par défaut dans cette textbox.
Mon problème est que cela fonctionne quand je clique sur non (valeur 5 dans le textbox) mais si je valide le taux supérieur à5 c'est quand même la valeur 5 qui est consigné.
pouvez vous m'aider
merci par avance
.




4 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
11 sept. 2012 à 17:46
Bonjour,
Il faudrait nous montrer le code complet que vous avez ecrit!!!

A+
0
19marko65 Messages postés 23 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 28 octobre 2013
12 sept. 2012 à 17:36
bjr,
je vous joins mon code. j'ai essayé avec la méthode AfterUpdate() mais le résultat est identique

Private Sub txcom_AfterUpdate()

If txcom.Value > 5 And txcom.Value <= 20 Then 'si le tx est compris entre 5 et 20
MsgBox "Attention, le taux communal doit être compris entre 1% et 5% sauf avis motivé ou il peut atteindre la valeur de 20%. Confirmez vous le taux de " & txcom & " % ?", vbYesNo
If vbYes = True Then
Taxe.txcom.Value = txcom
Exit Sub
Else
txcom.Value = 5
End If
End If
If txcom.Value > 20 Then
MsgBox "Attention, le taux communal doit être inférieur ou égal à 20%"
txcom.Value = 1
End If
End Sub
0
Bonjour,

Suggestion :

Private Sub txcom_AfterUpdate()

    Dim strMessage As String
    Dim Resultat As Variant
    
    strmes = "Attention, le taux communal doit être compris entre 1% et"
    strmes = strMessage & " 5% sauf avis motivé ou il peut atteindre la valeur de 20%."
    strmes = strMessage & " Confirmez vous le taux de " & txcom.Text & " % ?"

    If txcom.Value > 5 And txcom.Value <= 20 Then 'si le tx est compris entre 5 et 20
        Resultat = MsgBox(strmes, vbYesNo)
        If Resultat = vbYes Then
            Taxe.txcom.Text = txcom.Text
            Exit Sub
        Else
            txcom.Text = 5
        End If
    End If

    If txcom.Text > 20 Then
        strmes = "Attention, le taux communal doit"
        strmes = strmes & " être inférieur ou égal à 20%"
        MsgBox strmes
        txcom.Text = 1
    End If
    
End Sub


Cdt

Lupin
0
19marko65 Messages postés 23 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 28 octobre 2013
13 sept. 2012 à 05:05
merci à toi lupin
ça a l'air de bien fonctionner
0