Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives

Advertisement

 
 
LinkBack Outils de la discussion
Vieux 15/09/2004, 09h44   #1 (permalink)
patrick
Guest
 
Messages: n/a
Par défaut Alimentation combobox par item de TCD

Bonjour à tous,

J'utilise dans une feuille une combobox que je veux alimenter avec des items de tableaux croisés dynamiques.
J'utilise le code suivant :

ActiveSheet.OLEObjects.Add(ClassType:="Forms.Combo Box.1", Link:=False, _
DisplayAsIcon:=False, Left:=170, Top:=19, _
Width:=150, Height:=17).Select
ActiveSheet.OLEObjects.Add(ClassType:="Forms.Combo Box.1", Link:=False, _
DisplayAsIcon:=False, Left:=357, Top:=19, _
Width:=150, Height:=17).Select
Dim PT As PivotTable
Dim PI As PivotItem
Set PT = ActiveWorkbook.Sheets("Données").PivotTables("TCD comparaison d'états NB")
For Each PI In PT.PivotFields("Entité").PivotItems
If Left(PI.Name, 8) <> "AFFAIRES" Then
AddNameToComboBox PI.Name, Sheets("Données").ComboBox1
End If
Next
End Sub

Sub AddNameToComboBox(NewName As String, LB As MSForms.ComboBox)
Dim i As Integer
For i = 0 To LB.ListCount - 1
If LB.List(i) > NewName Then Exit For
Next
LB.AddItem NewName, i
End Sub


Je reçois en retour le message d'erreur suivant :
"Erreur d'exécution '438' - Propriété ou méthode non gérée par cet objet"

Je ne comprends pas pourquoi.
Merci pour votre aide
 
ANNONCES
Vieux 16/09/2004, 07h57   #2 (permalink)
Zon
Guest
 
Messages: n/a
Par défaut Re: Alimentation combobox par item de TCD

Salut,

Ce n'est pas un userform, on ne peut pas écrire sheets(1).combobox1 quand on crée à la volée, mais testes plutôt:

AddNameToComboBox PI.Name, selection.object

Cela s'appliquera à la 2 eme combo créée.

Autre approche qui devrait fonctionner, j'ai pas testé

dim Lacombo1 as MSForms.ComboBox
dim Lacombo2 as MSForms.ComboBox
Dim PT As PivotTable
Dim PI As PivotItem
set Lacombo1= ActiveSheet.OLEObjects.Add(ClassType:="Forms.Combo Box.1", Link:=False, _
DisplayAsIcon:=False, Left:=170, Top:=19, _
Width:=150, Height:=17).object
Set PT = ActiveWorkbook.Sheets("Données").PivotTables("TCD comparaison d'états NB")
set lacombo2= ActiveSheet.OLEObjects.Add(ClassType:="Forms.Combo Box.1", Link:=False, _
DisplayAsIcon:=False, Left:=357, Top:=19, _
Width:=150, Height:=17).object
For Each PI In PT.PivotFields("Entité").PivotItems
If Left(PI.Name, 8) <> "AFFAIRES" Then
AddNameToComboBox PI.Name, lacombo1
End If
Next
'faire le traitement pour le 2 eme combo

A+++
 
Vieux 16/09/2004, 10h17   #3 (permalink)
patrick
Guest
 
Messages: n/a
Par défaut Re: Alimentation combobox par item de TCD

Zon,

Je te remercie pour le temps que tu as bien voulu me consacrer.
La question était peut être un peu ambigüe et je l'ai reponsé dans un autre fil.
http://www.excel-downloads.com/html/French/forum/messages/1_115212_115212.htm
Vous êtes donc deux à m'avoir aidé à me sortir de ce piège...


Bonne continuation et merci encore
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 09h18.


(C) 2006 Excel Downloads