Combobox sur VBA [Résolu]

Messages postés
10
Date d'inscription
vendredi 4 novembre 2005
Statut
Membre
Dernière intervention
30 janvier 2006
- - Dernière réponse : cs_lafrite44
Messages postés
10
Date d'inscription
vendredi 4 novembre 2005
Statut
Membre
Dernière intervention
30 janvier 2006
- 4 janv. 2006 à 09:08
Bonjour,

Je commence tout juste à developper en VBA et je galère depuis quatre jours (soirs) sur un problème:

J'ai une liste de personnes sur excel avec nom, prénom, date de naissance... avec une ligne par personne.
Cette liste est modifiable avec la modification, la création ou la suppression d'un profil.
Je souhaite créer une combobox reprennant cette liste pour que, lorsqu'on sélectionne un nom+prénom, la cellule active d'excel se mette sur le nom que l'on a sélectionné dans la combobox.
De plus, la combobox doit avoir le contenu de la colonne nom + celui de la colonne prénom.

J'espère que j'ai été clair pour détaillé mon problème.

Merci d'avance pour votre aide précieuse !
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
936
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
17 mars 2017
3
3
Merci
Lut,
Je part sur le principe que tu as nommé "MyList" ta plage de cellules qui contiennent tout tes noms et prénoms. je te laisse le soin de coder la gestion de ta liste(suppression ajout etc..)
à l'ouverture de ton UserForm tu charges ta liste comme ceci:
Private Sub UserForm_Initialize()
ComboBox1.ColumnCount = 2
ComboBox1.RowSource = "MyList"
End Sub
ensuite sur le changement tu sélectionnes ta cellule
Private Sub ComboBox1_Change()
Range("Mylist").Cells(ComboBox1.ListIndex + 1, 1).Select
End Sub
c'est du basique tu devra étoffer un peu.
Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 212 internautes nous ont dit merci ce mois-ci

Messages postés
936
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
17 mars 2017
3
3
Merci
Oui pas évident au premier abord.
Le but c'est de selectioner la cellule en rapport avec ton combo.
on a atribué à RowSource du combo la plage Mylist. Celle-ci comporte des lignes et des colonnes (comme excel).Cells te permet de sélectionner une cellule dans ta plage.
ex: si ta plage est "C1:E4" et que tu fait Range("Mylist").Range("A1").Select c'est la cellule C1 qui sera sélectionné (Elle correspond bien à la première cellule de ta plage. De même si tu fait Cells(1,1).Select c'est encore la première cellule qui le sera.L'index 0 de ton combo correspond donc à la première ligne de Mylist on rajoute 1 pour être en phase avec Mylist. ListIndex te renvoie l'index de la sélection (premier 0 ;deuxième 1 etc....)Voilà c'est tout le .Select demande à VBA de sélectionner la cellule.
Je te conseille de lire l'aide sur les objets Range et Cells
Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 212 internautes nous ont dit merci ce mois-ci

Messages postés
10
Date d'inscription
vendredi 4 novembre 2005
Statut
Membre
Dernière intervention
30 janvier 2006
0
Merci
Merci, je vais essayer dès ce soir !
Messages postés
10
Date d'inscription
vendredi 4 novembre 2005
Statut
Membre
Dernière intervention
30 janvier 2006
0
Merci
Merci beaucoup, j'ai essayé ta méthode et ça fonctionne nickel !
par contre je n'ai pas compris à quoi servait exactement et comment marchait ça :
Range("Mylist").Cells(ComboBox1.ListIndex + 1, 1).Select
peux-tu m'éclairer à ce sujet ?

Encore merci !
Messages postés
10
Date d'inscription
vendredi 4 novembre 2005
Statut
Membre
Dernière intervention
30 janvier 2006
0
Merci
Tout d'abord meilleurs voeux pour cette nouvelle année !

Et merci pour ta réponse !!!
Je comprend mieux la méthode maintenant.