VBA -Lier des cellules (variables) à des combobox (variables) dans UserForm

Bonjour,

Pour résoudre le problème que je décrit dans un autre post, j'ai choisit de découper chaque étape et faire appel à votre aide lorsque je ne sais pas résoudre l'étape en question.

Pour le moment, est-ce que vous pourriez m'aider à associer des ComboBox et des TextBox à des cellules de mon tableau ?

Voici son fonctionnement :

  • Quand, dans mon tableau, colonne [D], il est indiqué x fois le terme "synonymes" Alors l'UserForm 1 s'ouvre et affiche autant de ComboBox qu'il n'y a de "Synonymes"
  • Quand, dans mon tableau, colonne [D], il est indiqué x fois le terme "Code erroné" Alors l'UserForm 3 s'ouvre et affiche autant de TextBox qu'il n'y a de "Code erroné"
  • Quand, dans mon tableau, colonne [D], il est indiqué x fois le terme "Codes jumeaux" Alors l'UserForm 4 s'ouvre et affiche autant de ComboBox qu'il n'y a de "Codes jumeaux"

Comment puis-je associer chaque ComboBox ou TextBox à chaque cellule concernée ?

Disons, par exemple, en cellule D25 et en cellule D30 est affiché "Code erroné" ; j'aimerais que dans les TextBox générées les informations présentent en [C25] et en [C30] apparaissent. (Par la suite, la modification de ces informations devrait pouvoir se faire directement depuis les TextBox).

J'essaierai ensuite de faire de même pour les ComboBox.

Je transmets mon document de travail, sans les codes déjà testés qui ne fonctionnent absolument pas. Donc uniquement ce qui fonctionne pour que vous ayez un aperçu du fonctionnement de mon document.

Merci de votre attention,

Bonne journée !

Bonjour la mouche, heu pardon, Le Drosophile, bonjour le forum,

En pièce jointe ton fichier complètement modifié. J'ai trouvé très pénible le fait de créer des TextBoxes à la volé en fonction du nombre d'occurrences d'un mot dans un tableau. je te propose des comboboxes qui stockent le numéro de ligne de chaque occurrence trouvée. Une seule UserForm pour les 3 mots. Au changement dans une ComboBox, j'ai juste fait fait une sélection du mot de la ligne en question mais rien ne t'empêche de faire autre chose... Tu peux aussi boucler sur toutes les lignes d'une Combobox.

Tu vois, si ça ne t'intéresse pas, tu jettes...

Bonjour,

Merci pour votre proposition.

J'essai de trouver une solution a ce problème depuis deux jours, j'ai fait beaucoup de tests différents qui n'aboutissent pas. Peut-être que la méthode que j'essaie de mettre en oeuvre est trop complexe et pourrait être améliorée.

Aussi, ce que tu propose, en l'apparence semble bien également ; en revanche, je ne sais pas comment m'y prendre pour la suite.

Les UserForms que je fais apparaître sont destinés à rendre la correction du tableau rapide. Il peut y avoir des codes jumeaux, des synonymes ou des codes erronés. A chaque fois, je veux permettre de corriger ces erreurs à l'aide de Combobox ou de TextBox.

Des combobox pour faire apparaître des listes de correspondances

Des TextBox pour afficher l'erreur et la corriger à la main (car il s'agit généralement d'erreur de saisie)

En l'occurrence, la solution que tu propose cible, pour chaque type d'erreur la ligne concernée.

Penses-tu qu'à partir de ta solution je peux parvenir à mettre en place le système décrit ci'dessus ?

Peut-être puis-je me servir du code qui trouve chaque ligne pour lier ensuite les TextBox / combobox avec les cellules concernées dans la plage de données..

En utilisant

Controls("TextBox" &

etc.

Encore merci ! Je vais regarder le code que vous utilisez pour voir si je peux m'en servir de base pour continuer.

Bonne journée !

Je peux m'y prendre comme ça par exemple :

TV = co.Range("A1").CurrentRegion
NL = UBound(TV, 1)

For s = 2 To NL
For p = 1 To lrco
    If TV(s, 4) = "Code erroné" Then Controls("TextBox" & p).Value = Cells(s, 4 - 1)
Next p
Next s

Sauf que ça m'affiche la même information dans chaque TextBox

Je sais que c'est exactement ce que je demande en écrivant Cells(s, 4 - 1) mais je sais pas faire pour afficher 1 erreur par TextBox

Peut-être que c'est faisable en créant de nouvelles feuilles de calcul ?

Re,

En pièce jointe la version 2. Regarde si ça te convient...

Bonjour,

Merci beaucoup pour votre aide ! Votre proposition fonctionne bien et pourrait finalement m'être très utile pour un autre projet ! Je vais également essayer de m'en inspirer pour finaliser mon projet en cours qui n'est plus très loin d'aboutir !

Merci d'avoir prit le temps de m'apporter une réponse !

Bonne fin de journée

Rechercher des sujets similaires à "vba lier variables combobox userform"