bonjour,
En bon autodidacte (vba pour Excel avec un peu de AODB), je fouille beaucoup sur les forums et tombe souvent sur les articles de SilkyRoad qui sont autant de bibles pour moi.
Je développe une application utilisant des ChartSpaces (OWC11). Comme cette application est en réseau et que tous les postes n'ont pas les mêmes versions du composent OWC11 (major 1, minor 0 ou major 1, minor 1), je ne peut pas préinstaller ces composants dans mes userforms car le programme plante à l'installation (à cause des références).
Je souhaiterais donc les installer dynamiquement après avoir installé par le code les références manquante dans ThisWorBook_open (ma macro.xla)
'Installation des références OWC11
Set Ref = Nothing
Set Ref = ThisWorkbook.VBProject.References("OWC11")
If Ref Is Nothing Then
'Tentative de Minor=1, Major=1
ThisWorkbook.VBProject.References.AddFromGuid "{0002E558-0000-0000-C000-000000000046}", 1, 1
If Err.Number = -2147319779 Then
'Tentative de Minor=1, Major=0
Err.Clear
ThisWorkbook.VBProject.References.AddFromGuid "{0002E558-0000-0000-C000-000000000046}", 1, 0
If Err.Number = -2147319779 Then MsgBox "Impossible d'installer le composant Windows OWC11" & vbCr & _
"La bibliothèque n'est pas installée" & vbCr & _
"Ce programme ne peut pas fonctioner sur Excel 2007" & vbCr & _
"Si vous êtes sur Excel 2003, téléchargez le fichier OWC11.exe sur le site de Microsoft" & vbCr & _
"Installez le et réinstallez ProgrammeCQ.xla", vbExclamation, "Echec de l'installation": On Error GoTo 0: End
End If
End If
Ça, ça marche !
J'arrive à ajouter les controls Chartspace dynamiquement
Dim ChartSpace1 as Control
Set ChartSpace1 = Me.Controls.Add("OWC11.ChartSpace.11", "ChartSpace1")
Je souhaiterai récupérer l'évènement Mouse_down
Comme pour les controls de type MSForm.textbox.1, j'ai créé une classe
EvenementsChartSpace
contenant
Public WithEvents owchartspace As OWC11.ChartSpace
Dans mon code Userform, lorsque je fait:
Dim chrt As EvenementsChartSpace
Set chrt = New EvenementsChartSpace
Set chrt.owchartspace = ChartSpace1
J'ai une erreur N°13: Incompatibilité de type, alors qu'en déboguant, je vois bien que les types sont strictement identiques.
C'est incompréhensible !!!!!
Merci de l'éventuel coup de main, je deviens fou !!!
Meud
Partager