Bibliothèque référence VBA (Xtreme Suite Controls ActiveX Control 15.1.3)
2 réponses
Denys
Bonjour,
A l'ouverture de mon application, j'aurais besoin d'ajouter la
r=E9f=E9rence suivante:
Xtreme Suite Controls ActiveX Control 15.1.3
C'est un fichier que l'on retrouve dans le system 32 et qui s'appelle
Codejock.Controls.v15.1.3.ocx
Comme je ne veux pas avoir =E0 l'activer manuellement sur chaque PC o=F9
il sera utilis=E9, je voudrais bien que =E7a se fasse automatiquement. La
m=E9thode utilis=E9e est qu'=E0 l'ouverture du fichier se passe ceci:
Private Sub Workbook_Open()
Application.Calculation =3D xlCalculationAutomatic
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour,
C'est un contrôle que je ne connais pas! Mais si le fichier source (.ocx) est accessible pour les tous les ordinateurs de l'entreprise, tu peux faire comme ceci :
A ) Dans le fichier où est présent ce contrôle et où le code fonctionne, tu ajoutes la procédure : AfficherLesGuids_Propriétés() Elle te donne la liste des références que contient le projet VBA()
Pour chaque référence (bibliothèque) tu auras son "nom" description ,Guids, Major, Minor et le chemin complet du fichier source.
Il s'agit que tu ajoutes dans la procédure Workbook_Open du ThisWorkbook, une ligne ressemblant à celle-ci en utilisant la valeur des propriétés affichées dans la feuille de calcul pour cet référence. ThisWorkbook.VBProject.References.AddFromGuid _ GUID:="{00000200-0000-0010-8000-00AA006D2EA4}", major:=2, minor:=0
Par exemple, si ce contrôle apparaît dans un formulaire, l'ajout de la référence permettra d'exécuter le code, mais cela n'ajoutera pas le contrôle dans la boîte à outils du formulaire. Pour cela, il n'y a pas de code VBA qui fait cela. Mais ton programme fonctionnera rondement...
Attention : Si le fichier source n'est pas présent sur un des ordinateurs, il va de soi que la référence ne pourra être chargé et que par conséquent qu'il y aura des failles dans la (les) procédure. À cet effet, tu pourrais ajouter à la procédure ceci :
'Pour le contrôle Codejock.Controls.v15.1.3.ocx 'Tu récupères et remplaces le chemin et fichier dans la référence dans la feuille 'de calcul suite à l'exécution de la macro.
if Dir(Chemin&Fichier) <>"" then ThisWorkbook.VBProject.References.AddFromGuid _ GUID:="{00000200-0000-0010-8000-00AA006D2EA4}", major:=2, minor:=0 Else Msgbox "Sur votre ordinateur, le fichier Chemin&Fichier est absent." _ & "Demandez de l'aide au technicien." end if
'-------------------------------------- Sub AfficherLesGuids_Propriétés() Dim X As Integer, Sh As Worksheet Dim NbRef As Integer
Set Sh = Worksheets.Add(After:=Sheets(Sheets.Count))
On Error Resume Next With Sh .Name = "GUIDS" .Cells(1, 1) = "Nom de la bibliothèque" 'Son appellation dans la fenêtre Reférences .Cells(1, 2) = "Description" .Cells(1, 3) = "Guid" .Cells(1, 4) = "Major" .Cells(1, 5) = "Minor" .Cells(1, 6) = "Chemin complet" With .Range("A1:F1") .Font.Bold = True .Font.Size = 12 End With With Sh.Parent.VBProject.References NbRef = .Count X = 2 For a = 1 To NbRef Sh.Cells(X, 1) = .Item(a).Name Sh.Cells(X, 2) = .Item(a).Description Sh.Cells(X, 3) = .Item(a).GUID Sh.Cells(X, 4) = .Item(a).Major Sh.Cells(X, 5) = .Item(a).Minor Sh.Cells(X, 6) = .Item(a).fullpath X = X + 1 Next End With .Range("A1").CurrentRegion.EntireColumn.AutoFit End With End Sub '--------------------------------------
C'est un contrôle que je ne connais pas! Mais si le fichier
source (.ocx) est accessible pour les tous les ordinateurs
de l'entreprise, tu peux faire comme ceci :
A ) Dans le fichier où est présent ce contrôle et où le code fonctionne,
tu ajoutes la procédure : AfficherLesGuids_Propriétés()
Elle te donne la liste des références que contient le projet VBA()
Pour chaque référence (bibliothèque) tu auras son "nom"
description ,Guids, Major, Minor et le chemin complet du fichier source.
Il s'agit que tu ajoutes dans la procédure Workbook_Open du
ThisWorkbook, une ligne ressemblant à celle-ci en utilisant la valeur
des propriétés affichées dans la feuille de calcul pour cet référence.
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{00000200-0000-0010-8000-00AA006D2EA4}", major:=2, minor:=0
Par exemple, si ce contrôle apparaît dans un formulaire, l'ajout
de la référence permettra d'exécuter le code, mais cela n'ajoutera
pas le contrôle dans la boîte à outils du formulaire. Pour cela, il n'y
a pas de code VBA qui fait cela. Mais ton programme fonctionnera
rondement...
Attention : Si le fichier source n'est pas présent sur un des ordinateurs,
il va de soi que la référence ne pourra être chargé et que par conséquent
qu'il y aura des failles dans la (les) procédure. À cet effet, tu pourrais
ajouter
à la procédure ceci :
'Pour le contrôle Codejock.Controls.v15.1.3.ocx
'Tu récupères et remplaces le chemin et fichier dans la référence dans la
feuille
'de calcul suite à l'exécution de la macro.
if Dir(Chemin&Fichier) <>"" then
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{00000200-0000-0010-8000-00AA006D2EA4}", major:=2, minor:=0
Else
Msgbox "Sur votre ordinateur, le fichier Chemin&Fichier est absent." _ &
"Demandez de l'aide au technicien."
end if
'--------------------------------------
Sub AfficherLesGuids_Propriétés()
Dim X As Integer, Sh As Worksheet
Dim NbRef As Integer
Set Sh = Worksheets.Add(After:=Sheets(Sheets.Count))
On Error Resume Next
With Sh
.Name = "GUIDS"
.Cells(1, 1) = "Nom de la bibliothèque"
'Son appellation dans la fenêtre Reférences
.Cells(1, 2) = "Description"
.Cells(1, 3) = "Guid"
.Cells(1, 4) = "Major"
.Cells(1, 5) = "Minor"
.Cells(1, 6) = "Chemin complet"
With .Range("A1:F1")
.Font.Bold = True
.Font.Size = 12
End With
With Sh.Parent.VBProject.References
NbRef = .Count
X = 2
For a = 1 To NbRef
Sh.Cells(X, 1) = .Item(a).Name
Sh.Cells(X, 2) = .Item(a).Description
Sh.Cells(X, 3) = .Item(a).GUID
Sh.Cells(X, 4) = .Item(a).Major
Sh.Cells(X, 5) = .Item(a).Minor
Sh.Cells(X, 6) = .Item(a).fullpath
X = X + 1
Next
End With
.Range("A1").CurrentRegion.EntireColumn.AutoFit
End With
End Sub
'--------------------------------------
C'est un contrôle que je ne connais pas! Mais si le fichier source (.ocx) est accessible pour les tous les ordinateurs de l'entreprise, tu peux faire comme ceci :
A ) Dans le fichier où est présent ce contrôle et où le code fonctionne, tu ajoutes la procédure : AfficherLesGuids_Propriétés() Elle te donne la liste des références que contient le projet VBA()
Pour chaque référence (bibliothèque) tu auras son "nom" description ,Guids, Major, Minor et le chemin complet du fichier source.
Il s'agit que tu ajoutes dans la procédure Workbook_Open du ThisWorkbook, une ligne ressemblant à celle-ci en utilisant la valeur des propriétés affichées dans la feuille de calcul pour cet référence. ThisWorkbook.VBProject.References.AddFromGuid _ GUID:="{00000200-0000-0010-8000-00AA006D2EA4}", major:=2, minor:=0
Par exemple, si ce contrôle apparaît dans un formulaire, l'ajout de la référence permettra d'exécuter le code, mais cela n'ajoutera pas le contrôle dans la boîte à outils du formulaire. Pour cela, il n'y a pas de code VBA qui fait cela. Mais ton programme fonctionnera rondement...
Attention : Si le fichier source n'est pas présent sur un des ordinateurs, il va de soi que la référence ne pourra être chargé et que par conséquent qu'il y aura des failles dans la (les) procédure. À cet effet, tu pourrais ajouter à la procédure ceci :
'Pour le contrôle Codejock.Controls.v15.1.3.ocx 'Tu récupères et remplaces le chemin et fichier dans la référence dans la feuille 'de calcul suite à l'exécution de la macro.
if Dir(Chemin&Fichier) <>"" then ThisWorkbook.VBProject.References.AddFromGuid _ GUID:="{00000200-0000-0010-8000-00AA006D2EA4}", major:=2, minor:=0 Else Msgbox "Sur votre ordinateur, le fichier Chemin&Fichier est absent." _ & "Demandez de l'aide au technicien." end if
'-------------------------------------- Sub AfficherLesGuids_Propriétés() Dim X As Integer, Sh As Worksheet Dim NbRef As Integer
Set Sh = Worksheets.Add(After:=Sheets(Sheets.Count))
On Error Resume Next With Sh .Name = "GUIDS" .Cells(1, 1) = "Nom de la bibliothèque" 'Son appellation dans la fenêtre Reférences .Cells(1, 2) = "Description" .Cells(1, 3) = "Guid" .Cells(1, 4) = "Major" .Cells(1, 5) = "Minor" .Cells(1, 6) = "Chemin complet" With .Range("A1:F1") .Font.Bold = True .Font.Size = 12 End With With Sh.Parent.VBProject.References NbRef = .Count X = 2 For a = 1 To NbRef Sh.Cells(X, 1) = .Item(a).Name Sh.Cells(X, 2) = .Item(a).Description Sh.Cells(X, 3) = .Item(a).GUID Sh.Cells(X, 4) = .Item(a).Major Sh.Cells(X, 5) = .Item(a).Minor Sh.Cells(X, 6) = .Item(a).fullpath X = X + 1 Next End With .Range("A1").CurrentRegion.EntireColumn.AutoFit End With End Sub '--------------------------------------