Microsoft 365 UserForm remplit la textbox sélectionné

dubarre

XLDnaute Occasionnel
Bonjour je viens vers vous pour savoir si ça peut être une solution ou au contraire j'essaye de voir toutes les possibilités que l'on peut faire avec VBA et je bute sur la solution suivante.

Dans l'exemple suivant j'ai un UserForm qui a trois textbox quand on clique sur le premier un UserForm s'ouvre avec une combobox ou trois mots sont écrits je sélectionne le premier et je valide

Dans mon premier UserForm je clique sur la deuxième textbox est le même UserForm s'ouvre avec la combobox toujours avec les trois mots et cette fois-ci je sélectionne le deuxième et je valide et ainsi de suite pour la troisième textbox dans le premier UserForm.

J'en viens à ma question comment je peux dire au UserForm qui contiens la combobox quand je clique sur valider de mettre le mot dans la textbox sélectionné
 

Pièces jointes

  • Textbox.xlsm
    21 KB · Affichages: 61

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Bonjour @dubarre , le Forum

Voici un essai, mais pourquoi faire aussi compliqué ? Moi je mettrais trois ComboBox directement au lieu de trois TextBox et pas besoin de second Userform...

Bonne soirée
@+Thierry
 

Pièces jointes

  • XLD_Dubarre_Textbox_Caller_v00.xlsm
    19.2 KB · Affichages: 8

patricktoulon

XLDnaute Barbatruc
re
bonjour @dubarre , @_Thierry
voila encore un exemple du besoins d'un userform en mode responsif

vous allez voir c'est simple
alors supprimez tout les codes des 2 userforms dans le fichier en exemple de dubarre
je dis bien tout!!!
ensuite dans le userform 1( celui des 3 textboxs) mettez ceci

CODE USERFORM1
j'ai choisi le double clique
VB:
Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = UserForm2.uf2value
End Sub


Private Sub TextBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox2 = UserForm2.uf2value
End Sub


Private Sub TextBox3_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox3 = UserForm2.uf2value
End Sub
pas compliqué
mettez ce code dans le userform2
VB:
Option Explicit
Public valeur As Variant

Public Property Get uf2value()
    With UserForm2
        .valeur = ""
        .Show
    uf2value = .valeur
    End With
    Unload UserForm2
End Property
Private Sub CommandButton1_Click()
    valeur = Me.ComboBox1.Value: Me.Hide
End Sub


Private Sub UserForm_Initialize()
    ComboBox1.List = Array("Essai 1", "Essai 2", "Essai 3")
End Sub
voila c'est terminé dorénavant le doubleclick sur textbox(userform1) ouvre l'userform2 et le click sur le bouton valider fait que l'userform2 renvoie sa propriété (perso)(uf2value) à l'appelant

simple non ? ;)
 

dubarre

XLDnaute Occasionnel
Bonjour à tous

voilà un essai de ce que je voulais réaliser grâce à votre aide j'ai pu faire la chose suivante je vous laisse la découvrir

concernant l'alimentation de la liste de courses automatiquement je ne me suis pas encore penché dessus encore une fois je continue à découvrir VBA donc si vous avez une autre façon de faire pour un résultat identique je suis preneur pour pouvoir comprendre ce que vous dites car souvent on me dit que je fais des usines à gaz donc j'attends de voir vos propositions pour voir la différence en tout cas merci à vous pour votre aide.

J'ai l'impression qu'il y a tellement de façon de réaliser la même chose à force on ne sait plus par où données de la tête.
 

Pièces jointes

  • Réaliser_son_menu.xlsm
    65.4 KB · Affichages: 7

dubarre

XLDnaute Occasionnel
Peut-être que ma façon d'aborder les choses n'est pas conventionnelle mais je réalise mes tableaux de la même façon au départ c'est en brouillon voir plusieurs brouillons qui peuvent donner à la fin un bon résultat pour l'instant dans VBA je suis à l'étape brouillon où j'essaie de comprendre comment cela fonctionne et c'est la ou la complexité de voir que si on pose la même question à 10 personnes différentes il y aura 10 résultats différents pour le même résultat comme 10 peintres devant un paysage le résultat sera 10 tableaux différents est-ce que je me trompe ?
 

dubarre

XLDnaute Occasionnel
Bonsoir

Je ne comprends pas parce que de mon côté les combobox se remplissent normalement

l'UserForm s'ouvrent à l'ouverture du classeur et quand vous cliquez sur une Textbox sauf les colonnes "Autres" un UserForm s'ouvre et vous sélectionnez par exemple dans petit-déjeuner dans les fibres boissons et autres ce que vous souhaitez et vous validez la Textbox concernés grâce à l'exemple de Thierry se remplit ensuite vous remplissez la semaine et quand vous cliquez sur valider cela réalise un aperçu impression

Les combobox sont alimentés directement avec rowsource de la manière suivante "Aliments!A2:A26" ceci est un exemple

Comme je le disais dans un précédent message vous avais tous une façons différentes de faire les codes VBA.

Ce classeur est pour moi un exercice et j'essaie de comprendre comment cela peut fonctionner et jusqu'où Excel et le code VBA peut aller c'est pour ça que je vous ai demandé si vous avez une façon qui peut être plus intéressante que de la façon que je l'ai réalisé je suis preneur pour découvrir d'autres façons et comprendre la grandeur des codes qu'on peut réaliser sur VBA.

À travers ce lien je vous fais une vidéo pour vous montrer ce classeur.

Liens :
 

Pièces jointes

  • XLD_Dubarre_Gestion_Menu_Liste_de_Course_v00.xlsm
    65.4 KB · Affichages: 6

dubarre

XLDnaute Occasionnel
Bonsoir certes cela dérive peut-être un peu de la question de base mais je vous avais mis ce classeur juste pour vous montrer pourquoi aussi je voulais avoir ce code et surtout le comprendre car je ne connaissais pas par quelle manière je voulais l'utiliser.
 

patricktoulon

XLDnaute Barbatruc
re
ma fois :rolleyes:
demo4.gif

et ca c'est normal?
demo4.gif
 

dubarre

XLDnaute Occasionnel
J'ai téléchargé ce que je t'ai mis et ça me met le même problème je ne sais pas pourquoi quand je vais ouvrir le UserForm par le biais VBA la les combobox se remplissent pour qui pourquoi si quelqu'un a la solution la ça me dépasse.
 

Discussions similaires

Réponses
17
Affichages
601

Statistiques des forums

Discussions
312 113
Messages
2 085 430
Membres
102 889
dernier inscrit
monsef JABBOUR