[Excel VBA] Liste déroulable ComboBox

Résolu/Fermé
aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 - 12 mars 2008 à 01:02
aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 - 12 mars 2008 à 15:47
Bonsoir à tous,

J'ai créé un modèle de devis que j'utilise depuis un certain temps dans lequel j'ai mis une liste déroulable contenant le nom des clients. (Les clients étant dans un fichier Contacts.xls me servant de base de données).

Lors de la création du modèle de devis, j'ai créé la liste déroulante avec celle contenue dans la barre d'outils "formulaire".
Je voudrais, maintenant, utiliser celle se trouvant dans la barre d'outils "boîte à outils contrôles" afin de ne plus avoir à dérouler toute la liste des clients pour sélectionner celui dont j'ai besoin. Je voudrais pouvoir saisir les premières lettres voir le nom en entier pour le trouver plus rapidement.

J'ai donc besoin d'aide pour créer le code VBA de cette ComboBox. (Info complémentaire, j'utilise Excel 2002)

Vous trouverez mon fichier sur ce lien : https://www.cjoint.com/?dmaJLo7704

Vous remerciant d'avance pour toute l'aide que vous pourrez m'apporter.

Bonne nuit

3 réponses

aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 1 302
12 mars 2008 à 09:41
Bonjour tout le monde,
Je vous remets un lien car dans le fichier que j'ai mis sur l'autre lien, le projet VBA est protégé, dans ce nouveau, il ne l'est pas : https://www.cjoint.com/?dmjHonpnEG
Voilà ce que c'est de faire les choses à une heure avancée de la nuit ;-))
Je vous souhaite une bonne matinée
1
m@rina Messages postés 20070 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 24 avril 2024 11 271
12 mars 2008 à 15:02
Bonjour aquarelle,

Tu n'as pas besoin de VBA juste pour une combobox comme ça.

- Commence par nommer ta plage de clients
- Clique droit sur ta combobox et choisis Propriétés.
- Pour la propriété ListFillRange, tu mets le nom de la plage qui contient les clients
- Pour la propriété LinkedCelll, tu mets la référence de la cellule où doit se trouver le résultat

C'est tout si tu ne veux rien de plus compliqué ! ;)

m@rina
0
aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 1 302
12 mars 2008 à 15:47
Bonjour Marina,

Merci de ta réponse mais il semble que ce soit un peu plus compliqué car en B2, je ne veux pas que s'écrive le nom que je sélectionne mais que s'écrive le numéro d'index.

<Edit>En fait, je viens de trouver, j'ai utilisé ce que tu me disais Marina, mais j'ai laissé vide la propriété "LinkedCell" et j'ai écris ce bout de code :
Private Sub ListNoms_Click()
     Dim Num As Integer
     Select Case ListNoms.ListIndex
     End Select
     Num = (ListNoms.ListIndex) + 1
     Range("B2").Value = Num
End Sub

<Edit>
Encore merci et bonne fin de journée
A bientôt
0