XL 2016 liste déroulante dans combobox

cuhoda

XLDnaute Nouveau
Bonjour et merci pour votre soutient.

Après avoir fait l'userform de saisie de mon inventaire, j'aimerais le completer avec une autre Userfom. (merci encore pour le coup de main)

je joint un fichier pour éclaircir ma question :)

j'ai une combobox dans la cellule B7 avec une liste déroulante avec un code qui fait office de recherche qui me convient très bien.

je n'arrive pas a mettre le code de cette liste déroulante dans mon userform avec la Combobox que j'ai nommé ComboTri

Aussi sans vouloir abuser, j'ai plusieurs tex box dans mon userform avec lesquelles j'aimerais que lorsque je choisi l'article de ma combobox , la valeur de cet article apparaissent dans la texbox . Les valeurs de chaque article sont sur la feuille INVENTAIRE dans différente colonne.
 

Pièces jointes

  • Inventaire.xlsm
    866.7 KB · Affichages: 20
C

Compte Supprimé 979

Guest
Bonjour Cuhoda

Ah non ! Ca ce n'est pas possible dans un userform 😜

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set ws = Sheets("INVENTAIRE")
list_Noms = Application.Transpose(ws.Range("A16:A" & ws.Range("A1048576").End(xlUp).Row).Value)
Me.ComboTri.List = list_Noms
  Me.ComboTri.Value = Target.Value
  Me.ComboTri.Visible = True
  Me.ComboTri.Activate
Else
Me.ComboTri.Visible = False
End If
End Sub

Quand vous êtes dans VBE, le menu de gauche vous donne tous les objets
1637945696574.png

Donc il faut sélectionner "UserForm", vous avez ensuite dans le menu de droite tous les évènements
1637945765432.png


Du coup on peut essayer avec "Initialize"

Ce qui donne tout simplement
Code:
Private Sub UserForm_Initialize()
  Set ws = Sheets("INVENTAIRE")
  list_Noms = Application.Transpose(ws.Range("A16:A" & ws.Range("A1048576").End(xlUp).Row).Value)
  Me.ComboTri.List = list_Noms
End Sub

A+
 

cuhoda

XLDnaute Nouveau
Bonjour Cuhoda

Ah non ! Ca ce n'est pas possible dans un userform 😜

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set ws = Sheets("INVENTAIRE")
list_Noms = Application.Transpose(ws.Range("A16:A" & ws.Range("A1048576").End(xlUp).Row).Value)
Me.ComboTri.List = list_Noms
  Me.ComboTri.Value = Target.Value
  Me.ComboTri.Visible = True
  Me.ComboTri.Activate
Else
Me.ComboTri.Visible = False
End If
End Sub

Quand vous êtes dans VBE, le menu de gauche vous donne tous les objets
Regarde la pièce jointe 1123023
Donc il faut sélectionner "UserForm", vous avez ensuite dans le menu de droite tous les évènements
Regarde la pièce jointe 1123024

Du coup on peut essayer avec "Initialize"

Ce qui donne tout simplement
Code:
Private Sub UserForm_Initialize()
  Set ws = Sheets("INVENTAIRE")
  list_Noms = Application.Transpose(ws.Range("A16:A" & ws.Range("A1048576").End(xlUp).Row).Value)
  Me.ComboTri.List = list_Noms
End Sub

A+
Merci Pour la réponse , par contre quand je met le code, c'est mon module qui pose problème ce qui fait que l'userform ne veut pas s'ouvrir
 
C

Compte Supprimé 979

Guest
Merci Pour la réponse , par contre quand je met le code, c'est mon module qui pose problème ce qui fait que l'userform ne veut pas s'ouvrir
Bonjour Christian

Si vous voulez utilisez les 2, il faut alors : la sub dans la feuille (à laisser celle présente) et le code dans l'userform (celui donné)

Après on ne comprends pas forcément votre façon de procéder 🤔
 

Pièces jointes

  • Cuhoda_Inventaire.xlsm
    865.2 KB · Affichages: 17

Discussions similaires

Réponses
8
Affichages
101

Statistiques des forums

Discussions
312 081
Messages
2 085 161
Membres
102 800
dernier inscrit
NOTZ