Bonjour le Forum,
mon problème est simple en apparence mais je n'y arrive pas. je vais essayer de vous l'exposer aussi clairement que possible. Merci par avance de votre précieuse aide.
Dans mon projet VBA, j'ai plusieurs userforms (usf) dont le fonctionnement commence par la saisie dans un TextBox (tbClient) quelques caractères pour rechercher le client selon le contexte de l'usf, par exemple UFSource.
Après avoir saisi quelques lettres dans tbClient, un bouton Seek (dans UFSource) permet de lancer un usf UFSeek contenant un textbox tbSeek et une ListView LV alimentée selon le contexte de UFSource.
Au fur et à mesure que le tbSeek change les items de LV sont filtrés. Après un événement LV_Click je souhaite récupérer l'item sélectionné par un moyen que j'ignore, fermer UFSeek et continuer mon traitement dans UFSource avec tBClient = l'item
Mon problème est que je n'arrive pas à passer la valeur de l'item sélectionné dans le LV par une instruction du type Forms("UFSource").Controls("tbClient")=Item avant de fermer UFSeek
Bien entendu je souhaite que UFSeek soit un outil commun à tous mes usf.
Dans un module (indépendant de UFSeek), j'ai donc créé une sub UFSeek_Show(UFSource As UserForm, tbSource As String) qui est appelée par le bouton Seek qui affiche UFSeek en ayant au préalable chargé LV et dupliqué le contenu de tbSource dans tbSeek. ce même module contient également les sub tbSeek_Change et LV_Click.
Après plusieurs recherches j'ai pensé qu'un module de classe pouvait m'aider, mais je n'en ai jamais utilisé et je n'arrive pas à structurer la démarche.
Merci de votre aide.
Partager