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,
    Il faudrait nous montrer le code complet que vous avez ecrit!!!

    A+
    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,

        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