OVH Cloud OVH Cloud

msoControlCombobox dans barre d'outils perso

4 réponses
Avatar
choko
Bonjour,

J'ai créé une combobox dans ma barre d'outil mais je ne sais pas comment
faire pour la remplir avec une liste des semaines numérotées de 1 à 52 sans
utilisé la fonction additem.
De plus je voudrais qu'a chaque changement, la valeur de cette combobox se
mette dans la cellule A1 de la feuille 1 .

Comment dois je m'y prendre?

Merci d'avance

Choko

4 réponses

Avatar
Pierre Fauconnier
Bonjour

Si les semaines sont renseignées dans une plage de cellule, tu peux utiliser
cette plage comme rowsource de ton combo, sinon je ne vois qu'un additem
dans une boucle
for i = 1 to 52
combo.additem i
next i

Attention que parfois, il y a 53 semaines dans une année...

Cela convient-il?

--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"choko" a écrit dans le message de
news:%
Bonjour,

J'ai créé une combobox dans ma barre d'outil mais je ne sais pas comment
faire pour la remplir avec une liste des semaines numérotées de 1 à 52
sans

utilisé la fonction additem.
De plus je voudrais qu'a chaque changement, la valeur de cette combobox se
mette dans la cellule A1 de la feuille 1 .

Comment dois je m'y prendre?

Merci d'avance

Choko




Avatar
choko
Merci Pierre,

J'ai réussi à remplir ma combobox, j'ai juste ajouté semaine à ton code:

for i = 1 to 52
combo.additem "Semaine "& i
next i

Par contre je suis toujours bloqué sur le transfert de sa valeur vers la
cellule A1. Mais je continue à chercher...
Avatar
Pierre Fauconnier
Salut

Lors de la création de ton bouton, tu dois ajouter la propriété OnAction qui
spécifie quelle macro sera utilisée lors d'une action sur le bouton... Tu
dois alors écrire la macro avec le code voulu...

Voici un exemple simple qui crée le bouton en y associant une macro, et qui
permet d'afficher en A1 la valeur du combo...

Sub AddComboBarrePerso()
Dim Barre As CommandBar
Dim Bouton As CommandBarComboBox
Dim i As Integer

Set Barre = CommandBars("perso")
Set Bouton = Barre.Controls.Add(msoControlComboBox)
For i = 1 To 10
Bouton.AddItem "Semaine : " & i
Next i
Bouton.OnAction = "ModifCellule1"
End Sub

Sub ModifCellule1()
Dim Barre As CommandBar
Dim Bouton As CommandBarComboBox

Set Barre = CommandBars("perso")
Set Bouton = Barre.Controls(1)
Range("a1") = Bouton.Text
End Sub

Cela convient-il?


--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"choko" a écrit dans le message de
news:%
Merci Pierre,

J'ai réussi à remplir ma combobox, j'ai juste ajouté semaine à ton code:

for i = 1 to 52
combo.additem "Semaine "& i
next i

Par contre je suis toujours bloqué sur le transfert de sa valeur vers la
cellule A1. Mais je continue à chercher...





Avatar
JpPradier
Bonjour choko

Range("a1").value = combo.value devrait faire ton affaire.

j-p