Liste déroulante en VBA

Résolu
tortuegenie Messages postés 110 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 21 octobre 2008 - 8 août 2006 à 08:51
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 9 août 2006 à 04:15
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

Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
8 août 2006 à 09:24
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
3
tortuegenie Messages postés 110 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 21 octobre 2008
8 août 2006 à 09:31
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!!!!!  
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
8 août 2006 à 09:56
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
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 août 2006 à 04:15
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"
0
Rejoignez-nous