Private Sub Cedex_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsNumeric(Cedex.Text) [COLOR=red][B]Then Cedex = "CEDEX " & Cedex.Text[/B][/COLOR]
[COLOR=blue][B]Tu as le choix entre une instruction en une seule ligne :[/B][/COLOR]
[B][COLOR=#0000ff]If ... Then ... (Else ...)[/COLOR][/B]
[B][COLOR=#0000ff]ou 5 lignes[/COLOR][/B]
[B][COLOR=#0000ff]If ... Then[/COLOR][/B]
[B][COLOR=#0000ff]...[/COLOR][/B]
[B][COLOR=#0000ff]Else[/COLOR][/B]
[B][COLOR=#0000ff]...[/COLOR][/B]
[B][COLOR=#0000ff]End If[/COLOR][/B]
[B][COLOR=#0000ff]Avec If ... Then ..., le test est fini et le Else ne correspond à rien :rolleyes:.[/COLOR][/B]
ElseIf Cedex.Text = "-" Then [COLOR=red][B]Cedex = Cedex.Text[/B][/COLOR]
[B][COLOR=blue]Idem. En plus, ça ne sert à rien de dire que Cedex = Cedex :p.[/COLOR][/B]
Else: MsgBox "Valeur non valide.", vbCritical, "Valeur non valide."
End If
[COLOR=red][B]Cedex.Text = ""[/B][/COLOR]
[B][COLOR=red]Cedex.SetFocus[/COLOR][/B]
[B][COLOR=blue]Cedex.Text = "" (et SetFocus) doit être placé entre le Else et le End If, sinon, il s'applique toujours...[/COLOR][/B]
[B][COLOR=#0000ff]Et Cedex.SetFocus ne marche pas, le plus simple est d'utilisé Cancel = True qui annule la procédure Exit ;).[/COLOR][/B]
End Sub