Re,
Franc a écrit :
Comment intègre t-on ton programme
Dans le VBA (Alt+F11) tu copie dans module de feuille (celle ou tu veux saisir)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' modifier ici la plage à ton besoin [B:2B10]
If Not Intersect([B2:B10], Target) Is Nothing And Target.Count = 1 Then
UserForm2.Show
End If
End Sub
Tu transfère l'userforme vers ton fichier tu modifie si besoin le nom de la feuille et la plage
Dim f, dico
Private Sub UserForm_Initialize()
Set dico = CreateObject("Scripting.Dictionary")
'ici la feuille
Set f = Sheets("CodesPostaux")
'ici la plage
Set code = f.Range("A2:B" & f.[A65000].End(xlUp).Row)
temp = code
For i = LBound(temp) To UBound(temp, 1)
clé = CStr(temp(i, 1))
dico(clé) = IIf(dico.Exists(clé), dico(clé) & "*" & temp(i, 2), temp(i, 2))
Next i
Me.ComboBox1.List = dico.keys
End Sub
Private Sub ComboBox1_click()
Me.ListBox1.List = Split(dico(Me.ComboBox1.Value), "*")
End Sub
Private Sub ListBox1_Click()
ActiveCell = Me.ComboBox1
ActiveCell.Offset(, 1) = Me.ListBox1.Column(0)
Unload Me
End Sub
Franc a écrit :
tu me permets de l'utiliser
Aucun problème, ce n'est pas de moi, ce sont des bribes de code pris de droite et de gauche.
.