Before/AfterUpdate

Bonjour à tous,

Je suis en train d'ajouter des contrôles sur des TextBox et j'ai un soucis. Voici un extrait des codes que j'ai tapé:

Private Sub NuméroCommande_AfterUpdate()

    If Not Left(NuméroDevis.Text, 1) = Chr(65) And Not Left(NuméroDevis, 2) = Chr(82) Then
        MsgBox "Le numéro d'AR doit obligatoirement commencer par les lettres AR.", vbExclamation, "Erreur - 0"
        NuméroCommande = ""
        NuméroCommande.SetFocus
    Else
'.......................fin du Sub

Le truc c'est que j'aimerai que le curseur revienne dans la TextBox NuméroDevis au lieu d'aller à la prochaine. J'ai lu qu'en passant par BeforeUpdate ca le ferait tout seul mais j'avais pour que l'instant la fonction me dépasse un peu. Est-ce possible avec un simple AfterUpdate ?

Merci.

J'ai essayé comme cela:

Private Sub NuméroCommande_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)

    If Not Left(NuméroDevis.Text, 1) = Chr(65) And Not Left(NuméroDevis, 2) = Chr(82) Then
        MsgBox "Le numéro d'AR doit obligatoirement commencer par les lettres AR.", vbExclamation, "Erreur - 0"
        Cancel = True
        NuméroCommande = ""
    Else
'...................................Fin de Sub

Alors ça ne fonctionne pas et en plus je ne peux plus cliquer sur le bouton annuler de mon Userform sans faire un Echap avant.

Bonjour Heelfilp

Est-ce toujours d'actualité

A+

Bonjour Bruno,

Je viens de refaire mon code suite à ta réponse d'hier sur un autre sujet et ça fonctionne. Je pense doc avoir "compris" le fonctionnement du BeforeUpdate, même si je galère encore un peu sur les grosses fonctionne pour insérer le Cancel. En tout cas encore merci pour ton aide, je progresse énormément avec le forum

Voici le code:

Private Sub ComboboxNuméroDevis_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)

        If Liste_DT.Cells(Ligne, "L") <> "" Then
            MsgBox "L'offre " & ComboBoxNuméroDevis & " possède déjà un AR : " & Liste_DT.Cells(Ligne, "L") & ".", vbExclamation, "Erreur - 1"
            ComboBoxNuméroDevis = ""
            Cancel = True
        End If

End Sub
Rechercher des sujets similaires à "before afterupdate"