Le coding sur l'évènement _Exit est assez délicat.
D'une part parce qu'un MsgBox d'erreur fait perdre tout Focus de la zone en erreur en Cancel = True.
D'où la nécessité de faire les .SetFocus en Asynchrone avec Cancel = False.
Enfin parce que aucun Control n'a la main tant qu'on ne sort pas avec Cancel = False.
Et on ne le fait tant qu'il y a une erreur dans la zone.
Il y a un moyen qui consiste à traiter l'Exit en asynchrone qui permet de laisser la main aux autres contrôles, mais je n'ai pas voulu compliquer davantage.
Pour sortir du UserForm sur un Nom & Prénom non validés (Le bouton Terminé n'a pas la main), j'ai accepté la touche Escape.