ralph45
XLDnaute Impliqué
Bonjour @tou.te.s !
J'ai copié sur le site de JBoisgontier un code qui doit générer un ComboBox où les premières lettres saisies doivent afficher une liste d'afférences (AutoCompletion).
Seulement, en l'adaptant un peu (référence de la base),le code me génère une erreur...
"Erreur de compilation
Type défini par l'utilisateur non défini"
Voici le code et là où cela plante...
Merci de votre aide !!
Dim a()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([A2:A45], Target) Is Nothing And Target.Count = 1 Then
a = Sheets("BASE1").Range("BASE1_VOIE_NOM").Value
Me.ComboBox1.List = a
Me.ComboBox1.Height = Target.Height + 3
Me.ComboBox1.Width = Target.Width
Me.ComboBox1.Top = Target.Top
Me.ComboBox1.Left = Target.Left
Me.ComboBox1 = Target
Me.ComboBox1.Visible = True
Me.ComboBox1.Activate
Else
Me.ComboBox1.Visible = False
End If
End Sub
Private Sub ComboBox1_Change()
ActiveCell.Value = Me.ComboBox1
End Sub
Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Me.ComboBox1.List = a
Me.ComboBox1.Activate
Me.ComboBox1.DropDown
End Sub
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then ActiveCell.Offset(1).Select
End Sub
J'ai copié sur le site de JBoisgontier un code qui doit générer un ComboBox où les premières lettres saisies doivent afficher une liste d'afférences (AutoCompletion).
Seulement, en l'adaptant un peu (référence de la base),le code me génère une erreur...
"Erreur de compilation
Type défini par l'utilisateur non défini"
Voici le code et là où cela plante...
Merci de votre aide !!
Dim a()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([A2:A45], Target) Is Nothing And Target.Count = 1 Then
a = Sheets("BASE1").Range("BASE1_VOIE_NOM").Value
Me.ComboBox1.List = a
Me.ComboBox1.Height = Target.Height + 3
Me.ComboBox1.Width = Target.Width
Me.ComboBox1.Top = Target.Top
Me.ComboBox1.Left = Target.Left
Me.ComboBox1 = Target
Me.ComboBox1.Visible = True
Me.ComboBox1.Activate
Else
Me.ComboBox1.Visible = False
End If
End Sub
Private Sub ComboBox1_Change()
ActiveCell.Value = Me.ComboBox1
End Sub
Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Me.ComboBox1.List = a
Me.ComboBox1.Activate
Me.ComboBox1.DropDown
End Sub
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then ActiveCell.Offset(1).Select
End Sub