Croisement de combobox dans un formulaire et affichage dans une textbox

Bonjour !

Je viens quérir votre aide sur ce forum Je pense que quelqu'un pourra m'aider et me guider dans mon besoin.

Il y a du VBA dans le fichier.

J'ai fait un tableau 2D (mois en colonne et des outils en ligne).

  • Dans mon formulaire, il y a :
  • une combobox pour le choix du mois ;
  • une combobox pour le choix de l'outil ;
  • Une textbox pour entrer un nombre.
Ce formulaire permet de rentrer une valeur dans le tableau 2D en croisant les informations choisies dans les combobox.

Jusque là, ça fonctionne bien.

Maintenant, ce que je souhaite faire (et où je galère un peu), c'est lorsque je choisis des valeurs dans les combobox "mois" et "outils", si une valeur est déjà renseignée dans la cellule correspondante au croisement des informations, alors elle est ré-affichée dans la textbox (et ensuite on peut la modifier, etc).

Exemple : je choisis dans mon formulaire le mois de juin et l'outil 5, si une valeur est écrite dans la cellule au croisement de ces 2 infos, je la réaffiche dans la textbox de mon formulaire et je peux modifier cette valeur. S'il n'y a aucune valeur, la textbox reste vide et on peut écrire une valeur.

Merci à celles et ceux qui participeront à la résolution de ce sujet !

(En pj le fichier)

20tableau2d.xlsm (309.96 Ko)

Bonsoir Fraancis, le forum,

Une façon de faire....

Une colonne supplémentaire J (qui peut être masquée).

En J1 : l'outil choisi dans ComboOutilsKPI

En J2 : le mois choisi dans ComboMois

En J3 : une formule index/equiv avec les valeurs de J1 & J2 (donc des combobox)

Enfin dans TextBoxOutilsKPI : J3

Mais il y a certainement plus simple....en attendant faute de mieux...

Cordialement,

Re,

Sans colonne supplémentaire ....

Sub test()
        i = Application.Match(ComboMois, Range("A2:A13"), 0)
        j = Application.Match(ComboOutilsKPI, Range("B1:E1"), 0)
        x = Application.Index(Range("B2:E13"), i, j)
        On Error GoTo 1
        TextBoxOutilsKPI = x
1
End Sub

Private Sub ComboMois_Change()
 Call test
End Sub

Private Sub ComboOutilsKPI_Change()
 Call test
End Sub
40tableau2d.xlsm (284.10 Ko)

Cordialement,

PS : J'ai du modifier l'alimentation de ta combobox ComboOutilsKPI car ça ne passait pas chez moi, je te laisse le soin de la modifier.

Salut xorsankukai !

C'est parfait ça ! Code très simple en plus !

J'avais le même raisonnement pour la reconnaissance des éléments mais je n'avais pas pensé précisément à utiliser "Application.Match" et "Application.Index".

Merci beaucoup à toi ! Je vais pouvoir améliorer de mon côté maintenant.

(Je mets en résolu)

Rechercher des sujets similaires à "croisement combobox formulaire affichage textbox"