libellule85
XLDnaute Accro
Bonjour tout le monde,
Voici mon petit problème : quand je clique sur la cellule b2 j'ai un userform avec liste déroulante en cascade qui apparait et une fois que j'ai sélectionné l'adresse dans la dernière liste déroulante l'userform se referme cela me rempli les cellules B4 à B10 (prénom, n° licence, adresse etc...) là je n'ai pas de problème. Mon problème vient du fait que si je veux choisir un autre nom je dois d'abord cliquer n'importe où sur la feuille puis revenir sur la cellule b2 pour que celà refonctionne, ma question : n'y aurait-il pas un bout de code pour que l'on puisse recliquer aussitôt sur la B2 pour rechercher un nouveau nom ?
Code qui figure sur ma feuille Choix :
Code de l'userform :
J'espère avoir été assez clair dans ma demande,
Merci d'avance pour vos réponses
Voici mon petit problème : quand je clique sur la cellule b2 j'ai un userform avec liste déroulante en cascade qui apparait et une fois que j'ai sélectionné l'adresse dans la dernière liste déroulante l'userform se referme cela me rempli les cellules B4 à B10 (prénom, n° licence, adresse etc...) là je n'ai pas de problème. Mon problème vient du fait que si je veux choisir un autre nom je dois d'abord cliquer n'importe où sur la feuille puis revenir sur la cellule b2 pour que celà refonctionne, ma question : n'y aurait-il pas un bout de code pour que l'on puisse recliquer aussitôt sur la B2 pour rechercher un nouveau nom ?
Code qui figure sur ma feuille Choix :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$B$2" Then
UserForm1.Show 0
End If
End Sub
Code de l'userform :
Code:
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
Set f = Sheets("Listing")
Set MonDico = CreateObject("Scripting.Dictionary")
For Each c In Range(f.[A2], f.[A65000].End(xlUp))
If c.Value <> "" Then MonDico.Item(c.Value) = c.Value
Next c
Me.ComboBox1.List = MonDico.items
SendKeys "{F4}"
End Sub
Private Sub ComboBox1_Change()
Set f = Sheets("Listing")
i = 0
Me.ComboBox2.Clear
For Each c In Range(f.[A2], f.[A65000].End(xlUp))
If c = Me.ComboBox1 Then
Me.ComboBox2.AddItem
Me.ComboBox2.List(i, 0) = c.Offset(, 1).Value
Me.ComboBox2.List(i, 1) = c.Offset(0, 2).Value
Me.ComboBox2.List(i, 2) = c.Offset(0, 3).Value
Me.ComboBox2.List(i, 3) = c.Offset(0, 4).Value
Me.ComboBox2.List(i, 4) = c.Offset(0, 5).Value
Me.ComboBox2.List(i, 5) = c.Offset(0, 6).Value
Me.ComboBox2.List(i, 6) = c.Offset(0, 7).Value
Me.ComboBox2.List(i, 7) = c.Offset(0, 8).Value
i = i + 1
End If
Next c
Me.ComboBox2.SetFocus
SendKeys "{F4}"
End Sub
Private Sub ComboBox2_Change()
If Me.ComboBox2.ListIndex > -1 Then
ActiveCell = Me.ComboBox1
ActiveCell.Offset(2) = Me.ComboBox2
ActiveCell.Offset(3) = Me.ComboBox2.Column(1)
ActiveCell.Offset(4) = Me.ComboBox2.Column(2)
ActiveCell.Offset(5) = Me.ComboBox2.Column(3)
ActiveCell.Offset(6) = Me.ComboBox2.Column(4)
ActiveCell.Offset(7) = Me.ComboBox2.Column(5)
ActiveCell.Offset(8) = Me.ComboBox2.Column(6)
End If
Unload Me
End Sub
J'espère avoir été assez clair dans ma demande,
Merci d'avance pour vos réponses