Connaître l'onglet que l'on quitte - multipage userform

Bonjour,

Je vous explique mon problème :

J'ai créé un multipage sur un userform et je souhaite que lorsque je change d'onglet, l'onglet que je quitte enregistre les informations contenues dans ce dernier.

Un exemple pour illustrer :

J'ai trois pages sur mon multipage, page1, page2 et page3, sur page1 j'ai une TextBox vierge initialement. J'écris Bonjour toto dans la textbox de ma page1. Maintenant je clique sur page2 et je veux donc enregistré le message Bonjour toto écrit dans ma page1. Mais comment savoir que mon message a enregistré provient de la page1 ? et non de la page 3?

Je sais que l'on peut avoir accès au nom ou à l'indice de la page courante mais moi je voudrais le nom ou l'indice de la page à t-1 (avant de changer d'onglet).

Je ne sais pas si c'est très clair, n'hésitez pas à me demander des précisions si besoin.

Je vous remercie d'avance pour l'aide que vous pourrez m'apporter.

Bonjour et bienvenu(e)

Quelques premières idées, peut-être suis je à côté ....

  • Tu utilises (sans doute) la procédure Private Sub MultiPage1_Change()
    Tu vérifies dans une variable globale quel numéro est inscrit --> Là d'où tu viens
    Tu inscris dans cette variable globale le numéro de page actuel --> Là où tu es
  • Dans les tags des contrôles tu peux y inscrire le numéro des pages
  • Chaque contrôle est unique (1 seul TextBox1 par exemple), donc cela semble possible de savoir qui est recopié

Tout d'abord merci de ta réponse très rapide,

Effectivement j'essaye dans Private Sub Multipage1_change()

Je ne vois pas de quel variable global tu parle afin de connaître "là d'ou je viens"

si j’utilise la fonction : MultiPage1.SelectedItem.Index , j'obtient le numéro de ma page actuelle et non mon ancienne page

Bonjour

Dans un userform avec un multipage, copie ce code

Option Explicit

Dim NumPage As Integer

Private Sub MultiPage1_Change()
  MsgBox "Page que j'ai quitté " & NumPage & vbCr & "Page actuelle " & Me.MultiPage1.SelectedItem.Index
  NumPage = Me.MultiPage1.SelectedItem.Index
End Sub

Private Sub UserForm_Initialize()
  Me.MultiPage1.Value = 0
  NumPage = 0
End Sub

Ho yes merci !!!!! ça marche !!

Je comprend, en fait ça sauvegarde le numéro de l'ancienne page dans une variable et ça modifie le nom qu'une fois l'ancienne valeur utilisée.

Depuis ce matin que je cherchais une solution... Et toi en 5 minutes tu as trouvé, chapeau !

Un très grand merci à toi pour ton efficacité et ta rapidité !

Rechercher des sujets similaires à "connaitre onglet que quitte multipage userform"