• Initiateur de la discussion Initiateur de la discussion mmaatthh
  • 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 !

M

mmaatthh

Guest
Bonjour le forum
Je travail sur excel 2003 pour Mac. Je tente de créer un combobox mais dans les propriétés du combobox on ne m'offre pas /Données /RowSource. Si je marque le code textuellement je n'ai toujours pas de choix dans le combobox. Je dois surement fair qqc de travers! Dans la pièce jointe exemple je voudrai que la plage D1😀12 soie les données de mon combobox


Si vous avez des pistes de solution je vous en remerci
MMaatthh
 

Pièces jointes

Re : rowsource combobox

Bonjour

Bienvenue dans le mode de la programmation en VBA sur mac, qui présente certaines particularités.

Code:
Private Sub ComboBox1_Change()
   '....
   '....
End Sub

Private Sub UserForm_Initialize()
Dim I As Byte
[COLOR="Green"]'Utilisation d'une boucle for pour définir les item de la combobox
'l'utilisation de la propriété RowSource n'est pas compatible sur Mac[/COLOR]
For I = 1 To 2
   ComboBox1.AddItem [Feuil1].Cells(I, 4)
Next I

[COLOR="green"]'Attention à la gestion des événements .change sur mac
'La ligne ci-dessous va lancer l'événement ComboBox1_Change, la procèdure d'initialisation de l'userform
'sera interrompu, et éxécutera le code de l'événement[/COLOR]

ComboBox1.ListIndex = 0

End Sub

Solution proposé pour la gestion des événements dans l'initialisation de l'userform

Code:
Private Sub ComboBox1_Change()
   '....
   '....
End Sub

Private Sub UserForm_Initialize()
Dim I As Byte
[COLOR="green"]'Utilisation d'une boucle for pour définir les item de la combobox
'l'utilisation de la propriété RowSource n'est pas compatible sur Mac[/COLOR]
For I = 1 To 2
   ComboBox1.AddItem [Feuil1].Cells(I, 4)
Next I

[COLOR="green"]'Attention à la gestion des événements .change sur mac
'La ligne ci-dessous va lancer l'événement ComboBox1_Change, la procèdure d'initialisation de l'userform
'sera interrompu, et éxécutera le code de l'événement[/COLOR]
[COLOR="Red"]Application.EnableEvents = False[/COLOR]
ComboBox1.ListIndex = 0
'....

[COLOR="Green"]'Ligne à mettre en dernier[/COLOR]
[COLOR="red"]Application.EnableEvents = True[/COLOR]
End Sub
 
Re : rowsource combobox

Merci JeanMarie

Le tout fonctionne très bien j'imagine que cela doit être la même chose pour les listbox? Je vais faire des tests. Avant de recevoir ta réponce j'ai trouver une autre façon d'arriver au résultat. Il me reste à déterminer s'il y a un avantage à utiliser un code plus que l'autre?

Private Sub UserForm_Initialize()
UserForm1.ComboBox1.List = Worksheets("feuil1").Range("D4😀12").Value
End Sub

De plus si je comprend bien pour gérer les polices... du combobox on doit les modifier via les propriétés de la plage source et non via ceux du combobox?

J'aime mon mac mais il y a des fois où il faut tricotter!

Merci Mmaatthh
 
Re : rowsource combobox

Bonjour

Je ne comprends ta question :
De plus si je comprend bien pour gérer les polices... du combobox on doit les modifier via les propriétés de la plage source et non via ceux du combobox?

@+Jean-Marie
 
Re : rowsource combobox

Bonjour JeanMarie
Oui, je pensais que pour changer les polices du combobox on devait le faire en changeant la police du la plage qui sert de list au combobox. Je faisais erreur, vérification faite dans les propriétées du combobox on peut changer les polices comme sur PC.
Merci Mmaatthh
 
- 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
17
Affichages
1 K
Réponses
5
Affichages
877
Réponses
1
Affichages
655
Retour