[Résolu] alimentation combobox sur feuil crée à la volée

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 !

Profane

XLDnaute Occasionnel
Bonjour a tous,
j'ai beau cherché je ne vois pas de solution
voici mon code : avec en execution l'erreur "l'indice n'apparait pas à la selection" sur la ligne de boucle
pour précision les deux feuilles report généré et graphique ont été crée via macro
merci d avance pour votre aide

Sub alimentationCombobox()
Dim Combobox1 As Control
Dim j As Long



For j = 2 To Sheets("report généré").Range("F65536").End(xlUp).Row
Sheets("graphique").Combobox1 = Range("F" & j)
If Sheets("graphique").Combobox1 = -1 Then Sheets("graphique").Combobox1.AddItem Range("F" & j)
Next j



End Sub
 
Dernière édition:
Re : alimentation combobox sur feuil crée à la volée

Bonjour
Il faudrait affecter par un Set à votre variable Combobox1 un contrôle existant de votre UserForm ... ou ne pas la déclarer s'il en existe un nommé Combobox1.
Cordialement
 
Re : alimentation combobox sur feuil crée à la volée

Bonjour,

peut être qu'avec un tout petit fichier en pièce jointe, ne représentant que le problème posé, nous y verrions plus clair... parce que la en l'état ca va pas être facile de t'aider.....

bon après midi
@+
 
Re : alimentation combobox sur feuil crée à la volée

je penche pour le fait que le combobox ne soit pas connu de la feuille report généré
par contre je ne vois pas du tout où cela se déclare....(jamais eu ce probleme)
pierrot , promis je met un bout de code demain matin
et merci deja a vous deux de vous interesser à mon soucis
 
Re : alimentation combobox sur feuil crée à la volée

Bonjour,

Essayez de changer l'intégralité du code de la procédure alimentationCombobox par

Code:
Sub alimentationCombobox()
Dim Rg As Worksheet
Dim G As Worksheet
Dim OL As OLEObject
Dim CB As ComboBox
Dim j As Long
Set Rg = Sheets("Report généré")
Set G = Sheets("Graphique")
Set OL = G.OLEObjects("ComboBox1")
Set CB = OL.Object
For j = 2 To Rg.Range("A65536").End(xlUp).Row
  CB = Rg.Range("A" & j)
  If CB.ListIndex = -1 Then CB.AddItem Rg.Range("A" & j)
Next j
End Sub

Je pense que votre problème vient de la confusion des méthodes entre un OLEObject et une ComboBox.
A la volée, l'objet créé est un OLEObject qu'il est nécessaire de convertir en ComboBox (par le biais de l'instruction Set CB = OL.Object) pour pouvoir lui appliquer les méthodes ListIndex et AddItem.
Reportez-vous à l'exemple en pièce jointe.
 
- 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

Discussions similaires

D
Réponses
4
Affichages
1 K
Réponses
57
Affichages
6 K
H
Réponses
3
Affichages
1 K
Harlem_2021
H
C
Réponses
6
Affichages
1 K
charette36
C
H
Réponses
3
Affichages
1 K
HugoB99
H
Retour