remplissage combobox pour les nuls

  • Initiateur de la discussion Initiateur de la discussion Pitoo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

Pitoo

Guest
bonjour, et desole pour tout a l'heure

j'ai un code que je n'arrive pas a faire marcher :

Private Sub ComboBox1_Change()
End Sub

Private Sub Sheet1_Activate()
Dim Sheet1 As Worksheet
Set Sheet1 = activeworksheet


Dim mois As Range

Set mois = Array('Janvier', 'Fevrier', 'Mars', 'Avril', _
'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Decembre')

ComboBox1.AddItem mois(i)
Dim i As Integer
For i = 1 To 12
ComboBox1.AddItem = mois(i)
Next

End Sub

POURQUOI ? 🙁
 
Bonjour

🙂

Dim mois As Variant

mois = Array('Janvier', 'Fevrier', 'Mars', 'Avril', _
'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Decembre')


Dim i As Integer
For i = 1 To 12
ComboBox1.AddItem mois(i - 1)
Next

un tableau array et de type variant (et non range), tu n'a pas besoin d'associé ce tableau par set.

ce type de tableau est indéxer à partir de 0 (1er élément =0 , 2 ème élément = 1,etc....), d'ou l'utilité du i-1.

Sinon pour renvoyer la liste des mois dans une combobox, tu peux utiliser monthname :

Dim i As Byte

For i = 1 To 12
ComboBox1.AddItem MonthName(i)
Next i

salut
 
Bonjour

essaies plutot ce code

Private Sub Worksheet_Activate()

Dim i As Byte
Dim mois()

mois = Array('Janvier', 'Fevrier', 'Mars', 'Avril', _
'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Decembre')

Me.ComboBox1.Clear

For i = 0 To 11
Me.ComboBox1.AddItem mois(i)
Next

End Sub

Mais cela me gène un peu car à chaque fois que tu actives ta feuille ton code est recréé

Bon cela ne prend pas trop de ressources mais n'est pas vraiment utile. Un remplissage à l'ouverture suffit amplement

Bonne journée
 
OUps Hervé

Bon tu es arrivé juste la minute d'avant donc je ne t'ai pas vu

Mais nous sommes dans la même logique

Pour Pierre n'oublies pas le clear que j'ai rajouté si tu restes sur l'active sheet sinon à chaque activation de ta feuille tu rajoutes une liste au bout de la liste existante donc au bout d'un moment tu as un paquet de mois
 
ah mince effectivement je n'avais pas anticipe le mouvement perpetuel...
en tout cas merci deja pour ca, c'est vraiment gentil !

mais si je veux avoir dans mes choix un truc genre :
avril 05
mai 05
juin 05
etc

je dois lier ma combobox avec une table existante non ?
 
salut pdeburaux
bonjour le fil
tu peux peut être ajouter cela
For i = 0 To 11
Me.ComboBox1.AddItem mois(i)&Format(Date'yy')
Next

ou simplement modifier l'Array('Janvier 05',etc )

Message édité par: ChTi160, à: 16/06/2005 12:12
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
658
Réponses
3
Affichages
919
Réponses
3
Affichages
657
Réponses
12
Affichages
729
Retour