Liste déroulante en VBA

Résolu
Messages postés
110
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
21 octobre 2008
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
Bonjour à tous. Voilà, j'ai crée une macro Excel pour gérer une partie de la facturation.
Mon code de la macro utilisant des "Case" il est important que les utilisateurs ne se trompent pas en remplissant les cellules sinon ma macro est unitilisable. Par exemple pour le choix du mois j'aimerais bien faire une liste déroulante avec le mois écrit correctement ainsi plus de problème. Mais je n'ai jamais programmé cela en VB alors si qq'un peut m'aider.
J'ai trouvé un Combo Box mais je ne sais pas si c'est le bon truc:

Private Sub ComboBox1_Change()


End Sub

Merci à ceux qui peuvent m'aider!!!!!

4 réponses

Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
Hop là, on parle d'Excel ? On parle de ComboBox ? J'arrive, j'accours, je vole, je radoe !

Nul besoin de ComboBox ou de programmer en VB, Excel te permet de faire ça tout seul comme un grand et sans une ligne de code ^^.

Ce que tu veux, c'est obliger ton utilisateur à ne saisir que ce que tu lui autorises dans une cellule donnée si j'ai bien compris.

Il te faut juste une chose : Crée toi une feuille de paramètres (ou de données, ou le nom que tu veux : elle servira à alimenter tes différentes zones de saisie).
Sur cette feuille, pour reprendre ton exemple, on va écrire la liste des mois :
A1: Janvier
A2 : Février
...
A12 : Décembre
Tu sélectionnes la zone de A à A12 et tu fais Menu\Insertion\Nom\définir
Et tu donnes un nom à ta lise, par ex "Mois"

Te restes plus qu'à aller dans la feuille que tu fais remplir par les utilisateurs, dans la cellule où tu veux obliger la saisie, tu fais : Menu Données\Validation ... Autoriser Liste et en source tu marques =Mois.

Voilà, tu as une zone de saisie avec des choix imposés, qui sera bien remplie :p

Molenn
Messages postés
110
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
21 octobre 2008

Merci beaucoup Molenn pour cette "simplification"


Néanmoins pour ma culture personnel j'aimerais bien savoir comment on fait avec un Combobox et du code VBA.


Si tu peux m'aider!!!!!  
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
Je dois avouer que je n'ai jamais utilisé les Combo Box dans Excel .. A mon avis, tu dois trouver plein d'exemples avec le moteur de recherche du site.


 


Mais pour alimenter la Combo, ce doit être quelque chose comme :


Combo.AddItem "Toto".


 


Allez, je suis en forme : Moteur de Recherche ComboBox Excel donne entre autre une source qui peut être utile :
http://www.vbfrance.com/codes/VB-2005-CHARGER-COMBOBOX-PARTIR-EXCEL_36027.aspx

Molenn
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

Dim i As Long
Dim MaDate As Date

With ComboBox1
For i = 1 To 12
MaDate = "01/" & i & "/2006"
.AddItem Format(MaDate, "mmmm")
Next i
End With

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"