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

Rechercher des sujets similaires à "initialiser usf fonction"