Vb excel : Afficher une liste deroulante ....debutant inside

Vb excel : Afficher une liste deroulante ....debutant inside - VB/VBA/VBS - Programmation

Marsh Posté le 13-01-2005 à 21:07:08    

Bonjour !  
 
voila, ca fait quelques semaines que je me suis mis au macro et j'ai besoin de plus en plus de truc.
 
Je voudrais faire apparaitre au debut de ma macro une liste deroulante avec notament tous les mois de l'année (ce choix de l'utilisateur influe sur le reste avec des case etc...)
 
comment faire exactement svp MERCI !

Reply

Marsh Posté le 13-01-2005 à 21:07:08   

Reply

Marsh Posté le 13-01-2005 à 22:21:15    

Comme ça ?
 

Code :
  1. Private Sub ComboBox1_Change()
  2.     MsgBox "Mois choisi : " & ComboBox1.ListIndex
  3. End Sub
  4. Private Sub UserForm_Initialize()
  5.     Dim params As New Collection
  6.     Dim month As Integer
  7.        
  8.     For month = 1 To 12
  9.         params.Add MonthName(month)
  10.     Next
  11.    
  12.     For Each item In params
  13.         ComboBox1.AddItem item
  14.     Next
  15.     ComboBox1.Style = fmStyleDropDownList
  16. End Sub

Reply

Marsh Posté le 14-01-2005 à 17:16:06    

j'ai pas tt compris, mais ca marche pas....
je mets ou, sinon ca resemble...
 
C quoi la diff entre une sun classique et une private sub .....

Reply

Marsh Posté le 14-01-2005 à 19:38:21    

Moi j'ai ouvert Excel 2003, allé dans "tools" et choisi "Visual Basic Editor". J'ai fait "Add Form".
Puis dans la form j'ai ajouté une liste déroulante qui s'est nommée automatiquement "ComboBox1"
 
Ensuite j'ai édité le code de la form, et j'ai collé ça dedans.
 
Pour le Private Sub, Public Sub ou Sub, dans ton cas ça n'a pas d'impact particulié. Cela dit, ces Sub sont des event handlers, donc il convient d'interdire les autres objets de ta macro de les déclencher, d'où le "private". Si y'a rien, c'est "public" par défaut ce qui veut dire que n'importe quelle fonction de n'importe quel objet est capable d'éxécuter ces Sub, alors que ça n'a aucun sens.
Mais bon, globalement, tu t'en fout.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed