Bonjour Charly, Robert, et le forum,
J'ai adapté de code du fichier de Robert à mon cas, ce qui donne la chose suivante :
Private Sub UserForm_Initialize()
Dim p As Range
Dim cel As Range
Set p = Sheets('Feuil2').Range('C2:C' & Sheets('Feuil2').Range('C65536').End(xlUp).Row)
For Each cel In p
CBedit.AddItem cel.Value
CBdistrib.AddItem cel.Offset(0, 1).Value Next cel
End Sub
Private Sub CBedit_change()
CBdistrib.ListIndex = CBedit.ListIndex
End Sub
Ca fonctionne bien, à savoir que la CombobBox CBdistrib renvoie la bonne valeur en fonction de ce qu'affiche la ComboBox CBedit.
A présent, j'aimerais savoir 2 choses :
1 - Comment empêcher que l'utilisateur puisse modifier la valeur renvoyée automatiquement dans la ComboBox CBdistrib ?
2 - Comment modifier le code ci-dessus de façon à ce que la valeur renvoyée dans la ComboBox CBdistrib soit fonction d'une valeur affichée dans la textbox1 de mon USF ?
Je m'explique :
Actuellement la macro utilise :
CBdistrib.AddItem cel.Offset(0, 1).Value
Je voudrais que si TextBox1.value=1 alors on a :
CBdistrib.AddItem cel.Offset(0, 1).Value
Et que si TextBox1.value=2, alors on a :
CBdistrib.AddItem cel.Offset(0, 2).Value
Sachant que TextBox1 ne peut avoir que 1 ou 2 comme valeurs.
Autrement dit selon la valeur 1 ou 2 de TextBox1,on renvoie la valeur d'une colonne ou de la suivante de Feuil1.
Merci d'avance.
Fifi