Gestion des erreurs Usf multipage : activer une page

Bonjour,

Dans mon Usf, j'ai écrit (avec l'aide de Banzai64) une procédure pour obliger l'utilisateur à cocher les boutons sur chaque page du USF.

Je voudrais que si l'utilisateur à oublier les boutons de la page 2 (ou onglet2) il est un message (ça c'est ok) mais que la page 2 soit alors active ou ouverte (je ne sais quel terme prendre)... et vice versa

j'ai essayé

Me.MultiPage1.Pages(1).Visible = True

mais ça ne fait rien.

Est-ce que qq'1 à une solution svp ?

Merci

Mon fichier test

59gestbouton.zip (15.69 Ko)

Bonjour

Tu as la réponse ici

https://forum.excel-pratique.com/excel/gestion-des-multipag-de-usf-t34116.html#p193224

En clair modifies ta macro

    Private Sub CmbOk_Click()
      If Opb_Mme = False And Opb_M = False Then
        MsgBox "Remplir la civilité," & Chr(10) & "Merci"
       Me.MultiPage1.Value = 0
        Exit Sub
      End If
      If OpbAg1 = False And OpbAg2 = False And OpbAg3 = False Then
        MsgBox "Remplir la catégorie d'age, svp" & Chr(10) & "Merci"
       Me.MultiPage1.Value = 1
        Exit Sub
      End If

Bonjour Banzai64

Désolée de t'avoir dérangé alors que la réponse existait dans le forum.

J'avais pourtant cherché, mais pas assez... peut-être parce que cette réponse n'a pas été validée...

Merci.

mais pour aller jusqu'au bout de la démarche peut-on aussi faire en sorte que le curseur se positionne sur la textbox non remplie ? du style

OpbAg1.TabIndex= 1

merci

Bonjour

mouftie a écrit :

mais pour aller jusqu'au bout de la démarche peut-on aussi faire en sorte que le curseur se positionne sur la textbox non remplie ?

Oui mais ce sont des OptionButton et cela reviendrait à mettre par défaut un OptionButton (sans doute le contraire de ce que tu veux)

oui, dans cet exemple ce sont des OptionButton, mais dans le cas de textbox, comment fait-on ?

j'ai essayé avec

    Private Sub CmbOk_Click()
    If TxbNom = "" Then
        MsgBox "remplir le nom"
         Me.MultiPage1.Value = 0
        TxbNom.TabIndex = 1
        Exit Sub
    End If
...
end sub

j'ai bien mon curseur dans une zone de texte, mais pas la bonne, au lieu d'être dans la zone de nom, elle est dans la zone adresse,

alors que dans les propriétés du Usf, j'ai bien pour txbNom un TabIndex à 1

Bonjour

essayes

Private Sub CmbOk_Click()
  If TxbNom = "" Then
    MsgBox "remplir le nom"
    Me.MultiPage1.Value = 0
    TxbNom.TabIndex = 1
    Me.TxbNom.SetFocus
    Exit Sub
  End If
...
End Sub

Merci Banzai,

je n'avais pas pensé au focus (je ne l'ai d'ailleurs jamais encore utilisé, ce ne sera plus le cas).

Je crois que maintenant j'ai à peu près fait le tour ...

Jusqu'à la prochaine fois.

Rechercher des sujets similaires à "gestion erreurs usf multipage activer page"