De gros soucis avec la référence Microsoft windows controls 6.0(sp6), MSCOMCTL.OCX.

Le
ali.bouziane69
Bonjour au forum
Depuis plusieurs semaines je cherche une solution mais ne vain.
Cadre de santé en milieu hospitalier je développe pour mon unité de =
soins et celles de mes collègues une application de gestion documentaire =
sous excel vba.(fiches techniques des appareils médicaux, protocoles de s=
oins, roulement des soignants, textes de lois, etc. Cette base sera consult=
ée par tous les agents d es unités, techniciens , infirmières, aides =
soignantes, médecins, cadre de santé, etc

Pour cela j’ai crée un userform nommé « UserF1 » contenant des co=
ntrôles dont 2 treeviews, 2 listviews et 2 imageslists.

Quand j’ouvre le classeur excel :
-soit les controls du MSComctlLib ont tous disparus,
-soit le MSCOMCTL.OCX.n’apparaît pas dans la liste des références=

et cela quelque soit le pack office du pc utilisé.(xp,2002,2002,2010). To=
us les pc sont en réseau.
J’ai tenté un tas de solutions par macros dont :
-Suppression des références manquantes
-Réinstallations de ces références
-Chargement des références dans un dossier perso dans lequel j’ais co=
pié les *.dll,*.ocx, etc.
Rien n’a fonctionné de façon durable.

J’ai donc choisi de créer par macros :
- les contrôles treeview, listeviews et imagelists à l’ouverture du c=
lasser
- avec activation des lignes de codes faisant références à ces contr=
ôles.
-à la fermeture du classeur par macro je transforme les lignes de codes f=
aisant références à ces contrôles en commentaires
- et décoche la référence Microsoft windows controls 6.0(sp6), MSCOMC=
TL.OCX.

Ca marche très bien comme ca. Mais…..

Dans la procédure qui crée les controls MSCOMCTL j’ai mis deux lignes=
qui testent si ces contrôles existent déjà et s’ils existent de ne=
pas les récréer.
Et bien la rien ne marche.
Dans le code que je vous transmets les lignes de codes que j’ai transform=
és en commentaires sont celles qui me posent problème.
Auriez une solution qui me permettrait de retrouver le sommeil.
J’ai créé 6 procédures pour les 6 contrôles dont voici le code de=
s 2 premières.
Par avance merci à tous pour votre aide
==
=
Dim i As Integer
Dim usf As Object
Dim ObjetsTreeListImage As Object
Dim Obj As Object
==
==
Sub CreerTreeView1()
Set usf = ThisWorkbook.VBProject.VBComponents("UserF1")
'Set Obj = UserF1.Controls("TreeView2") 'ligne fautive
'If Obj.Name <> "" Then Exit Sub 'ligne fautive
Set ObjetsTreeListImage = usf.Designer.Controls.Add("MSComctlLib.Tree=
Ctrl.2")
With ObjetsTreeListImage
.Height = 290
.Left = 2
.Name = "TreeView1"
.TabStop = True
.Top = 35
.Visible = True
.Width = 276
End With
ReactiveLigne

End Sub
Sub CreerTreeView2()
Set usf = ThisWorkbook.VBProject.VBComponents("UserF1")
'Set Obj = UserF1.Controls("TreeView2") 'ligne fautive
'If Obj.Name <> "" Then Exit Sub 'ligne fautive
Set ObjetsTreeListImage = usf.Designer.Controls.Add("MSComctlLib.=
TreeCtrl.2")
With ObjetsTreeListImage
.Height = 290
.Left = 472
.Name = "TreeView2"
.TabStop = True
.Top = 35
.Visible = True
.Width = 276
End With
End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #25307342
Bonjour,

Regarde la réponse à ta question sur l'autre fil
identique que tu as générée.


MichD
---------------------------------------------------------------
Publicité
Poster une réponse
Anonyme