Cellule liste semi auto
Dova
Messages postés
46
Statut
Membre
-
Le Pingou Messages postés 12643 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12643 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je cherche a mettre en place une liste déroulante semi-auto en VBA sauf qu'à chaque fois ça me dit "Erreur de compilation : Membre ou méthode ou données introuvablé" en parlant de Me.ComboBox1.List = a . Je ne comprend pas car je l'avais utilisé sur un autre doc mais là impossible de trouver pourquoi ça ne marche pas.
Es ce car il faut passer MatchEntry en None car je vois pas comment faire vue que les Combobox seulement quand on sélectionne la cellule
Merci d'avance.
Dim a(), mémo, f
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set f = Sheets("bd")
Set zSaisie = Range("A2:A16")
If Not Intersect(zSaisie, Target) Is Nothing And Target.Count = 1 Then
If mémo <> "" Then If IsError(Application.Match(Range(mémo), a, 0)) Then Range(mémo) = ""
a = Application.Transpose(f.Range("a2:a" & f.[A65000].End(xlUp).Row))
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
mémo = Target.Address
Else
Me.ComboBox1.Visible = False
End If
End Sub
Private Sub ComboBox1_Change()
If Me.ComboBox1 <> "" And IsError(Application.Match(Me.ComboBox1, a, 0)) Then
Set d1 = CreateObject("Scripting.Dictionary")
tmp = UCase(Me.ComboBox1) & "*"
For Each c In a
If UCase(c) Like tmp Then d1(c) = ""
Next c
Me.ComboBox1.List = d1.keys
Me.ComboBox1.DropDown
End If
ActiveCell.Value = Me.ComboBox1
End Sub
Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
ComboBox1.List = Application.Transpose(f.Range("a2:a" & f.[A65000].End(xlUp).Row))
Me.ComboBox1.DropDown
End Sub
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
If IsError(Application.Match(ActiveCell, a, 0)) Then ActiveCell = ""
ActiveCell.Offset(1).Select
End If
End Sub
Je cherche a mettre en place une liste déroulante semi-auto en VBA sauf qu'à chaque fois ça me dit "Erreur de compilation : Membre ou méthode ou données introuvablé" en parlant de Me.ComboBox1.List = a . Je ne comprend pas car je l'avais utilisé sur un autre doc mais là impossible de trouver pourquoi ça ne marche pas.
Es ce car il faut passer MatchEntry en None car je vois pas comment faire vue que les Combobox seulement quand on sélectionne la cellule
Merci d'avance.
Dim a(), mémo, f
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set f = Sheets("bd")
Set zSaisie = Range("A2:A16")
If Not Intersect(zSaisie, Target) Is Nothing And Target.Count = 1 Then
If mémo <> "" Then If IsError(Application.Match(Range(mémo), a, 0)) Then Range(mémo) = ""
a = Application.Transpose(f.Range("a2:a" & f.[A65000].End(xlUp).Row))
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
mémo = Target.Address
Else
Me.ComboBox1.Visible = False
End If
End Sub
Private Sub ComboBox1_Change()
If Me.ComboBox1 <> "" And IsError(Application.Match(Me.ComboBox1, a, 0)) Then
Set d1 = CreateObject("Scripting.Dictionary")
tmp = UCase(Me.ComboBox1) & "*"
For Each c In a
If UCase(c) Like tmp Then d1(c) = ""
Next c
Me.ComboBox1.List = d1.keys
Me.ComboBox1.DropDown
End If
ActiveCell.Value = Me.ComboBox1
End Sub
Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
ComboBox1.List = Application.Transpose(f.Range("a2:a" & f.[A65000].End(xlUp).Row))
Me.ComboBox1.DropDown
End Sub
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
If IsError(Application.Match(ActiveCell, a, 0)) Then ActiveCell = ""
ActiveCell.Offset(1).Select
End If
End Sub
A voir également:
- Cellule liste semi auto
- Liste déroulante excel - Guide
- Liste code ascii - Guide
- Liste déroulante en cascade - Guide
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
7 réponses
Bonjour,
Il serait plus profitable de vous aider avec le fichier à disposition. Si possible le mettre sur https://www.cjoint.com/ et poster le lien reçu.
Note: j'ai l'impression que dans votre code il est fait référence à un formulaire (UserForm) et il n'est pas visible dans votre image du poste 1----!
Il serait plus profitable de vous aider avec le fichier à disposition. Si possible le mettre sur https://www.cjoint.com/ et poster le lien reçu.
Note: j'ai l'impression que dans votre code il est fait référence à un formulaire (UserForm) et il n'est pas visible dans votre image du poste 1----!
https://www.cjoint.com/c/KGvucwwv4ud
https://www.cjoint.com/c/KGvug4BNkld
Dans le 1er lien j'ai utilisé cette macro, pour la colonne B
et le second est celui que je veux utiliser pr la colonne B mais j'ai l'erreur que j'ai mis en haut
https://www.cjoint.com/c/KGvug4BNkld
Dans le 1er lien j'ai utilisé cette macro, pour la colonne B
et le second est celui que je veux utiliser pr la colonne B mais j'ai l'erreur que j'ai mis en haut
https://www.cjoint.com/c/KGvuFiv2efd
c le doc du gars ou j'ai trouvé le code
sauf que quand je colle sur un nouvel onglet; pareil ça me met l'erreur
c le doc du gars ou j'ai trouvé le code
sauf que quand je colle sur un nouvel onglet; pareil ça me met l'erreur
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Dans un premier temps il manque une référence dans VBAProject, Vous devez la cocher (voir en bleu si après :
Ensuite il n'y a pas de contrôle zone de liste déroulante [ComboBox1] dans la colonne [B] de votre feuille [21] de ce fait le code ne la trouve pas et vous avez le message d'erreur.
Corriger ses 2 éléments et tout devrait fonctionner
Dans un premier temps il manque une référence dans VBAProject, Vous devez la cocher (voir en bleu si après :
Ensuite il n'y a pas de contrôle zone de liste déroulante [ComboBox1] dans la colonne [B] de votre feuille [21] de ce fait le code ne la trouve pas et vous avez le message d'erreur.
Corriger ses 2 éléments et tout devrait fonctionner
