Bonjour,

Comment faire pour qu'une boite de texte obtienne le Focus après l'affichage d'un MsgBox lorsqu'elle est placé dans un controle multipage.

Pour faire simple : Je cré un form (en affichage non-modal... parce qu'en affichage modal ça fonctionne), j'y place un controle multipage et sur lui j'ajoute deux boites de texte.

En quittant le TextBox1 (clique sur TextBox2), je valide la valeur et si elle ne correspond pas aux valeurs voulues, j'affiche un Msgbox puis je voudrais que TextBox1 revienne avec le focus.

Le problème c'est qu'en affichage non-modal, le TextBox1 ne reçoit pas le focus après l'affichage du MsgBox.

Voici le code que j'ai :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  If Not valide Then
   If MsgBox("Erreur", vbCritical, "ERR") Then Cancel = True
  Debug.Print MultiPage1.Pages(0).ActiveControl.Name
  End If
End Sub
 
Function valide()
  'validation des données
  valide = False
End Function
Est-ce que quelqu'un a déjà réglé ce problème ?

Merci