Fonction exit textbox

Résolu
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. 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
    1. 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
      1. Bonjour,
        Il faudrait nous montrer le code complet que vous avez ecrit!!!

        A+