Re Sylvain,
UserForm1.Show
est l'instruction basic pour ouvrir le "UserForm1" (tel que VBA a dû donner un nom au premier UserForm que tu as créé)... Maintenant si ton UserForm s'appelle "Toto" il faudra écrire...
Toto.Show
Je pense que ton problème vient de là...
(Quand on débute, je conseille de laisser les Objets tel VBA les a nommé, par contre si on veut vraiment personnaliser on peut nommer par exemple UserForm1Home, UserForm2Main, UserForm3ErrorMsg1, UserForm3ErrorMsg2 etc etc, l'avantage c'est que tes UserForms seront listés dans un ordre logique d'apparition dans l'Explorateur de Projets dans VBE)...
Pour le reste, "SetFocus" signifie que la TextBox1 aura le Focus (curseur actif) vu que cette TextBox1 a été validée vide par le User distrait, puisque tu veux que celà soit le renvoie du message d'erreur du UserForm2, donc on dirige le User exactement là ou il à fait l'oubli...
Voilà
bon aprèm
@+Thierry