Bonjour Denis !
Effectivement, ce code fonctionne aussi chez moi (Excel 2019) sur un fichier neuf..... mais pas sur mon fichier en cours, et je ne vois pas pourquoi !
Mais finalement, afficher un label à côté du textbox est plus ergonomique, on évite de cliquer sur le msgbox.
Hier, je n'avais pas le temps de publier mon code, que voici :
Avec chaque TextBox :
Private Sub Txt_Nom_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = Controle_Saisie(Txt_Nom)
End Sub
et la fonction qui va bien :
Private Function Controle_Saisie(T As MSForms.TextBox) As Boolean
If T = "" Then
With Lbl_MSgErreur ' Label qui signale l'erreur
.Visible = True
.Caption = "Champ obligatoire"
.Top = T.Top
.Left = T.Left + T.Width + 10
.ForeColor = 255
End With
With T
.SetFocus
.SelStart = 0
End With
Controle_Saisie = True
Else
With Lbl_MSgErreur
.Visible = False
.Caption = ""
End With
Controle_Saisie = False
End If
End Function
ThierryP