Insérer dynamiquement un controle ActiveX ListView dans une feuille de calcul

Fred92

XLDnaute Nouveau
Bonjour à tous,

Je souhaite insérer dynamiquement (par un code VBA) une LISTVIEW à l'ouverture d'un classeur excel.

J'ai essayer le code suivant (en prenant la méthode Shapes.AddOLEObject):

Private Sub Workbook_Open()
Set myDocument = Worksheets(1)
myDocument.Shapes.AddOLEObject Left:=100, Top:=100, _
Width:=100, Height:=200, ClassType:="Forms.ListView.1"
End Sub

Malheureusement, j'ai le message d'erreur suivant: Erreur d'exécution '1004'. Impossible d'insérrer un objet.

Je pense que le problème vient du ClassType qui n'est pas valide.

Après plusieurs heures de recherche sur le net, je n'ai absolument rien trouvé. Y aurait il quelqu'un qui a la solution?

Je remercie par avance tous ceux qui pourront me consacrer un peu de leur temps pour résoudre mon problème.

Bonne fin de journée et bon WE.

Fred92
 

Fred92

XLDnaute Nouveau
Re : Insérer dynamiquement un controle ActiveX ListView dans une feuille de calcul

Je reviens sur ce problème que je viens de résoudre en utilisant l'enregistreur de macro.

J'ai ainsi écrit le code suivant:

Private Sub Workbook_Open()
Dim Obj As Object

Set Obj = ActiveSheet.OLEObjects.Add(ClassType:="MSComctlLib.ListViewCtrl.2", Link:= _
False, DisplayAsIcon:=False, Left:=308.25, Top:=118.5, Width:=600.75, _
Height:=183)

With Obj
.Name = "ListView1" 'Renomme la forme pour l'utiliser dans un code
End With

End Sub

Ce code fonctionne.

Bonne fin de journée à tous.

Fred92
 

Fred92

XLDnaute Nouveau
Re : Insérer dynamiquement un controle ActiveX ListView dans une feuille de calcul

Bonsoir à tous,

Je reviens sur le problème afin de vous signaler qu'ayant réussi l'insertion du ListView dans la feuille de calcul, je n'arrive pas pour autant à l'utiliser.

Par exemple, si je souhaite remplir les entêtes, le code suivant ne fonctionne pas:

With Obj
With .ColumnHeaders
.Add x,y,"Colonne1",50
End With
End With

Le problème de l'utilisation du ListView reste donc non résolu. Si quelqu'un a une petite ideée, je suis intéressé par la solution!

Bonne soirée à vous tous.

Fred92
 

Statistiques des forums

Discussions
312 196
Messages
2 086 102
Membres
103 117
dernier inscrit
augustin.morille