Bonjour,
Dans le cadre d'un USF comportant différentes listbox et textebox, j'ai rédigé ce code dont le but est de renseigner un Cedex.
Je veux que lorsque l'on rentre "5", "Cedex 5" soit affiché (là c'est ok),
que lorsque l'on rentre "-" (car pas de cedex), que "-" soit affiché (la aussi ok), et que si l'on rentre par erreur autre chose que ces 2 possibilités, une boîte de dialogue s'affiche (erreur non valide), que la zone de texte soit effacée et que le focus reste dans cette zone au lieu de passer à la suivante :
lorsque je lance la procédure elle plante en m'affichant "erreur de compilation :Else sans If.
Si je n'introduis pas la condition Msgbox, la macro fonctionne mais le focus passe à la zone de texte d'en dessous.
Pouvez-vous me dire quels sont mes erreurs SVP et pourquoi ?
A+
Dans le cadre d'un USF comportant différentes listbox et textebox, j'ai rédigé ce code dont le but est de renseigner un Cedex.
Je veux que lorsque l'on rentre "5", "Cedex 5" soit affiché (là c'est ok),
que lorsque l'on rentre "-" (car pas de cedex), que "-" soit affiché (la aussi ok), et que si l'on rentre par erreur autre chose que ces 2 possibilités, une boîte de dialogue s'affiche (erreur non valide), que la zone de texte soit effacée et que le focus reste dans cette zone au lieu de passer à la suivante :
Code:
Private Sub Cedex_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsNumeric(Cedex.Text) Then Cedex = "CEDEX " & Cedex.Text
ElseIf Cedex.Text = "-" Then Cedex = Cedex.Text
Else: MsgBox "Valeur non valide.", vbCritical, "Valeur non valide."
End If
Cedex.Text = ""
Cedex.SetFocus
End Sub
lorsque je lance la procédure elle plante en m'affichant "erreur de compilation :Else sans If.
Si je n'introduis pas la condition Msgbox, la macro fonctionne mais le focus passe à la zone de texte d'en dessous.
Pouvez-vous me dire quels sont mes erreurs SVP et pourquoi ?
A+
Dernière édition: