Fonction exit textbox

Résolu
19marko65 Messages postés 26 Statut Membre -  
19marko65 Messages postés 26 Statut Membre -
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

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,
    Il faudrait nous montrer le code complet que vous avez ecrit!!!

    A+
    0
  2. 19marko65 Messages postés 26 Statut Membre
     
    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
  3. Utilisateur anonyme
     
    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
  4. 19marko65 Messages postés 26 Statut Membre
     
    merci à toi lupin
    ça a l'air de bien fonctionner
    0