Initialiser un USF en fonction d'un autre USF
Bonjour,
Je vous présente mon projet.
J'ai une base de donnée dans un onglet appeler "Liste chat".
J'ai un onglet "Interface" sur lequel j'ai 2 boutons : "Ajouter chat" et "Afficher chat".
Le bouton "Ajouter chat" ouvre un USF demandant 3 informations indispensable pour ajouter une nouvelle ligne à la Bdd "liste chat".
Son N° de refuge, sa date d'arrivé, la pièce dans laquelle il a été placé.
L'autre bouton "Afficher chat" ouvre un USF qui contient un premier champ dans lequel on demande de rentrer le N°de refuge du chat dont on souhaite voir la fiche. Il y un certain nombre d'autre champ que l'on peux renseigner afin de compléter ou modifier la fiche du chat.
Ce que je fait déjà c'est :
- Ouvrir le premier USF "Ajouter chat"
- Renseigner les 3 champs
- Faire les vérifications nécessaires pour éviter les erreurs de frappe.
- Vérifier si que numéro de refuge n'existe pas déjà dans la Bdd "liste chat".
- Ajouter une ligne de donné a la fin de la Bdd avec les 3 infos si toute les vérification sont bonnes.
Ce que je souhaiterais faire c'est :
- ouvrir un USF "Afficher chat" avec champ vierge lors de l'appuie sur le bouton numéro 2 "Afficher chat".
- Lors de la validation du USF "Ajouter chat" ouvrir l'USF "Afficher chat" avec le champ de recherche N°refuge déjà renseigné avec le chat que l'on viens d'ajouter.
Sur mon module j'ai donc
Sub AjouterChat()
UserForm_AjouterChat.Show
End Sub
Sub AfficherChat()
UserForm_FicheChat.Show
End Sub
et dans mon USF "ajouter chat"
Private Sub CommandButton_Valider_Click()
...
Me.Hide
UserForm_FicheChat(Me.textboxNumRefuge).Show
End Sub
Je sais que cela ne marche pas comme ça mais j’espère que vous saisissez l'idée.
En quelque sorte initialiser le userform "afficher chat" différemment si c'est le premier USF qui l'a appelé.
Merci
Bonjour,
Pour "transférer" une donnée d'un USF à un autre, vu que l'on ne peut pas mettre de paramètres lors de l'appel (mais je me trompe peut-être) il y a trois possibilités (voir plus
La première, dimensionner une variable Public au niveau d'un module VBA standard, comme cela sa valeur sera accessible de tout le code VBA,
La deuxième est de cibler votre champ de recherche avant l'appel afin de lui donner la valeur voulue dans ce style :
UserForm_FicheChat.ComboboxNumRefuge.Value = UserForm_AjouterChat.textboxNumRefuge
UserForm_FicheChat.Show
Ce à la condition que dans initialise il n'y ai pas une ligne de code qui efface la donnée ainsi inscrite.
ou bien, ce que je fais depuis peu, j'utilise la propriété "TAG" d'un contrôle du USF appelé :
UserForm_FicheChat.ComboboxNumRefuge.Tag = UserForm_AjouterChat.textboxNumRefuge
UserForm_FicheChat.Show
et dans le initialise je gère cette donnée en travaillant dessus :
UserForm_FicheChat.ComboboxNumRefuge.Value = UserForm_FicheChat.ComboboxNumRefuge.Tag
En espérant que ceci vous permette d'avancer dans votre projet.
@ bientôt
LouReeD