Listbox VBA Excel
Résolu/Fermé
peyau
Messages postés
21
Date d'inscription
jeudi 16 août 2018
Statut
Membre
Dernière intervention
22 novembre 2020
-
Modifié le 25 juin 2020 à 11:07
via55 Messages postés 14501 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 28 novembre 2024 - 26 juin 2020 à 11:48
via55 Messages postés 14501 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 28 novembre 2024 - 26 juin 2020 à 11:48
A voir également:
- Listbox VBA Excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Excel compter cellule couleur sans vba - Guide
11 réponses
via55
Messages postés
14501
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
28 novembre 2024
2 735
25 juin 2020 à 12:29
25 juin 2020 à 12:29
Re
Vu la possibilité qu'il doit y avoir d'écrire ce qu'on veut, j'ai procédé autrement à l'aide d'un userform
L'ouverture de l'UF est déclenchée par un double-clic dans la cellule de la colonne D à compléter
Multi sélection possible
Si dernier élément de la liste choisi (Autre) une boite message demande d'entrer du texte
Ensuite les choix sont reportés dans la cellule séparés par des virgules
https://mon-partage.fr/f/qmAeUz8l/
En espérant que cela répondra à tes attentes
Cdlmnt
Via
Vu la possibilité qu'il doit y avoir d'écrire ce qu'on veut, j'ai procédé autrement à l'aide d'un userform
L'ouverture de l'UF est déclenchée par un double-clic dans la cellule de la colonne D à compléter
Multi sélection possible
Si dernier élément de la liste choisi (Autre) une boite message demande d'entrer du texte
Ensuite les choix sont reportés dans la cellule séparés par des virgules
https://mon-partage.fr/f/qmAeUz8l/
En espérant que cela répondra à tes attentes
Cdlmnt
Via
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
Modifié le 25 juin 2020 à 11:25
Modifié le 25 juin 2020 à 11:25
Bonjour,
cela fonctionne chez moi, il suffit de déclarer
comme ceci:
Ta listBox est un control ActiveX comme ceci:
cela fonctionne chez moi, il suffit de déclarer
Dim i As Integer
comme ceci:
Option Explicit Dim i As Integer Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Me.ListBox1 If Not Intersect([D2:D300], Target) Is Nothing Then .List = Sheets("Listes").Range("E2:E12").Value For i = 0 To .ListCount - 1 If InStr(1, Target, .List(i)) > 0 Then .Selected(i) = True Next i .Height = 105 .Width = 235 .Top = Target.Top .Left = Target.Left + Target.Width .Visible = True Else .Visible = False End If End With End Sub Private Sub ListBox1_Change() Dim temp$ With Me.ListBox1 For i = 0 To .ListCount - 1 If .Selected(i) Then temp = temp & .List(i) & " " Next i ActiveCell = Trim(temp) End With End Sub
Ta listBox est un control ActiveX comme ceci:
Yoyo01000
Messages postés
1639
Date d'inscription
samedi 2 février 2019
Statut
Membre
Dernière intervention
7 mars 2022
167
Modifié le 25 juin 2020 à 11:24
Modifié le 25 juin 2020 à 11:24
Bonjour,
As-tu seulement une ListBox1 ?
As-tu seulement une ListBox1 ?
via55
Messages postés
14501
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
28 novembre 2024
2 735
25 juin 2020 à 11:24
25 juin 2020 à 11:24
Bonjour
As tu créé auparavant un Listbox dans ta feuille portant bien le nom ListBox1?
Envoie ton fichier plutôt que le code, en le postant sur mon-partage.fr, en copiant le lien créé et en revenant le coller ici
Cdlmnt
Via
As tu créé auparavant un Listbox dans ta feuille portant bien le nom ListBox1?
Envoie ton fichier plutôt que le code, en le postant sur mon-partage.fr, en copiant le lien créé et en revenant le coller ici
Cdlmnt
Via
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
peyau
Messages postés
21
Date d'inscription
jeudi 16 août 2018
Statut
Membre
Dernière intervention
22 novembre 2020
Modifié le 25 juin 2020 à 11:38
Modifié le 25 juin 2020 à 11:38
Au vu de vos réponses, je pense que rien n'est bon...
Voici le fichier : https://mon-partage.fr/f/vNULZ8Ti/
Sur toutes les lignes de la colonne D, il faut pouvoir accéder à la liste et cocher les valeurs désirées
Et aussi, je ne sais pas si c'est possible, lorsqu'on choisit "Autre", avoir la possibilité d'écrire ce que l'on veut
Voici le fichier : https://mon-partage.fr/f/vNULZ8Ti/
Sur toutes les lignes de la colonne D, il faut pouvoir accéder à la liste et cocher les valeurs désirées
Et aussi, je ne sais pas si c'est possible, lorsqu'on choisit "Autre", avoir la possibilité d'écrire ce que l'on veut
peyau
Messages postés
21
Date d'inscription
jeudi 16 août 2018
Statut
Membre
Dernière intervention
22 novembre 2020
Modifié le 25 juin 2020 à 13:12
Modifié le 25 juin 2020 à 13:12
Wow... Excel est vraiment incroyable :o
Par contre, dès que j'ouvre le formulaire, il me complète la cellule D4, même si je clique ailleurs dans cette colonne
J'ai essayé de voir d'où ça pouvait venir, mais je n'ai pas réussi
Par contre, dès que j'ouvre le formulaire, il me complète la cellule D4, même si je clique ailleurs dans cette colonne
J'ai essayé de voir d'où ça pouvait venir, mais je n'ai pas réussi
via55
Messages postés
14501
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
28 novembre 2024
2 735
Modifié le 25 juin 2020 à 13:18
Modifié le 25 juin 2020 à 13:18
Désolé, erreur de ma part, confusion entre colonne et ligne !
Fichier rectifié :
https://mon-partage.fr/f/Zl9OCVKF/
Fichier rectifié :
https://mon-partage.fr/f/Zl9OCVKF/
peyau
Messages postés
21
Date d'inscription
jeudi 16 août 2018
Statut
Membre
Dernière intervention
22 novembre 2020
Modifié le 25 juin 2020 à 13:49
Modifié le 25 juin 2020 à 13:49
Quelque chose que je ne comprends pas, comment le formulaire sait qu'il doit prendre les éléments de E2 à E12 de la feuille "Listes"? C'est avec une Listbox? Y a-t-il un moyen de gérer ces Listbox?
Par exemple si je veux créer un formulaire avec une deuxième liste? Ou si je veux simplement ajouter des éléments à la liste "public"?
Par exemple si je veux créer un formulaire avec une deuxième liste? Ou si je veux simplement ajouter des éléments à la liste "public"?
peyau
Messages postés
21
Date d'inscription
jeudi 16 août 2018
Statut
Membre
Dernière intervention
22 novembre 2020
25 juin 2020 à 15:08
25 juin 2020 à 15:08
Aussi, peu importe où je clique sur la feuille Excel, le formulaire s'ouvre (pas seulement lorsque je double clic sur la colonne). Est-ce normal?
Je vous remercie
Je vous remercie
via55
Messages postés
14501
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
28 novembre 2024
2 735
25 juin 2020 à 17:06
25 juin 2020 à 17:06
1) Pour voir l'Userform (et éventuellement en créer d'autres), ouvrir éditeur VBA, cliquer sur Feuilles dans l'arborescence puis sur Userform1
Dans l'UF qui s'affiche clic droit sur la Listbox et Propriétés
Dans les propriétés :
a) MultiSelect mis en MultiSelectMulti permet de sélectionner plusieurs items dans la liste
b) dans RowSource on indique la plage de la liste, ici =Listes!E2:E12
2) Pour que le double-clic n'opère que dans la colonne D dans la macro Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) liée à le feuille Animations rajoute la 1ere ligne suivante :
If target.column <>4 then Exist Sub
Dans l'UF qui s'affiche clic droit sur la Listbox et Propriétés
Dans les propriétés :
a) MultiSelect mis en MultiSelectMulti permet de sélectionner plusieurs items dans la liste
b) dans RowSource on indique la plage de la liste, ici =Listes!E2:E12
2) Pour que le double-clic n'opère que dans la colonne D dans la macro Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) liée à le feuille Animations rajoute la 1ere ligne suivante :
If target.column <>4 then Exist Sub
peyau
Messages postés
21
Date d'inscription
jeudi 16 août 2018
Statut
Membre
Dernière intervention
22 novembre 2020
26 juin 2020 à 10:56
26 juin 2020 à 10:56
Cela doit-il donner quelque chose comme :
Car cela me fait une erreur de compilation sur la ligne ajoutée :(
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If target.column <>4 then Exist Sub
ligne = Target.Row
UserForm1.Show
End Sub
Car cela me fait une erreur de compilation sur la ligne ajoutée :(
via55
Messages postés
14501
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
28 novembre 2024
2 735
26 juin 2020 à 11:48
26 juin 2020 à 11:48
Normal c'est Exit et non pas Exist