Bonjour Denis,
Tout d'abord excuse-moi de revenir si tard, j'ai quitté la région
parisienne et suis actuellement sur la route pour rejoindre le sud de la
France.
Ma question était purement intellectuelle.
J'ai ma "boîte d'outils" sur le ruban d'un fichier xlam.
Dans certains cas j'utilise des macros nécessitant les références :
. VBIDE : Microsoft Visual Basic for Applications Extensibility 5.3
. Word : Microsoft Word 14.0 Object Library
Celles-ci sont naturellement cochées.
À la suite de lectures sur le Net, je me suis amusé à écrire des macros
qui permettent de les charger sur demande, puis d'autres qui les
décochent également à la demande.
Fort de ces outils, je me demandais s'il n'était pas judicieux de mettre
un contrôle d'erreur en amont des macros qui utilisent ces références
afin de vérifier si les références nécessaires sont bien chargées et, si
non, de le faire automatiquement.
N'étant pas du tout à l'aise avec les GUIDS j'utilise, lors du
chargement par macros, le chemin complet de ces références.
En revanche, pour les décocher, j'utilise le nom de la référence (ex :
VBIDE, Word ou Scripting) que j'ai trouvé en utilisant une macro que tu
avais du publier ici-même quand j'étais jeune :-)).
Voilà, tu sais tout.
Par ailleurs, quand on est dans le VBE, 3 clicks pour charger une
référence n'a jamais tué personne.
Merci en tout cas pour ta réponse et conserve tes suggestions.
Bien amicalement
Michel
"MichD" a écrit dans le message de groupe de discussion :
qnftda$ta0$
Bonjour,
Un exemple :
Pour exécuter une macro, supposons qu'Excel requiert la référence
suivante : "Microsoft Scripting Runtime" puisque j'ai déclaré une
variable comme ceci :
Dim Dc As Scripting.Dictionary
Comme la bibliothèque n'est pas chargée, Excel décèle une erreur de
"compilation" avant même d'exécuter le code. Par conséquent même si
j'inclus une gestion d'erreur à la procédure, elle ne sera pas exécutée
puisque la référence est manquante. Pour illustrer le propos, colle
cette macro dans un module et exécute-la.
'--------------------------------
Sub test()
Dim GestionErreur As String
On Error GoTo GestionErreur
Dim DC As Scripting.Dictionary
Set DC = createobject("Scripting.Dictionary")
Exit Sub
GestionErreur:
Set Sh = Worksheets.Add
Resume Next
Resume
End Sub
'--------------------------------
Pourquoi ne pas charger toutes les références à l'ouverture du classeur
comme ceci (celle qu'Excel ne charge pas par défaut). C'est de loin
l'approche la plus facile, la plus simple, et cela ne devraient pas
ralentir l'exécution ton code.
'-----------------------------------
Private Sub Workbook_Open()
On Error Resume Next
With ThisWorkbook.VBProject.References
.AddFromGuid GUID:="{420B2830-E718-11CF-893D-00A0C9054228}", _
Major:=1, Minor:=0
'.AddFromGuid ...
End With
End Sub
'-----------------------------------
Et pour trouver les paramètres de "AddFromGuid" de chacune de ces
références, tu charges manuellement toutes les références que ton
projetVBA requiert le temps d'exécuter cette macro suivante :
'------------------------------------
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
'------------------------------------
MichD
Bonjour Denis,
Tout d'abord excuse-moi de revenir si tard, j'ai quitté la région
parisienne et suis actuellement sur la route pour rejoindre le sud de la
France.
Ma question était purement intellectuelle.
J'ai ma "boîte d'outils" sur le ruban d'un fichier xlam.
Dans certains cas j'utilise des macros nécessitant les références :
. VBIDE : Microsoft Visual Basic for Applications Extensibility 5.3
. Word : Microsoft Word 14.0 Object Library
Celles-ci sont naturellement cochées.
À la suite de lectures sur le Net, je me suis amusé à écrire des macros
qui permettent de les charger sur demande, puis d'autres qui les
décochent également à la demande.
Fort de ces outils, je me demandais s'il n'était pas judicieux de mettre
un contrôle d'erreur en amont des macros qui utilisent ces références
afin de vérifier si les références nécessaires sont bien chargées et, si
non, de le faire automatiquement.
N'étant pas du tout à l'aise avec les GUIDS j'utilise, lors du
chargement par macros, le chemin complet de ces références.
En revanche, pour les décocher, j'utilise le nom de la référence (ex :
VBIDE, Word ou Scripting) que j'ai trouvé en utilisant une macro que tu
avais du publier ici-même quand j'étais jeune :-)).
Voilà, tu sais tout.
Par ailleurs, quand on est dans le VBE, 3 clicks pour charger une
référence n'a jamais tué personne.
Merci en tout cas pour ta réponse et conserve tes suggestions.
Bien amicalement
Michel
"MichD" a écrit dans le message de groupe de discussion :
qnftda$ta0$1@gioia.aioe.org...
Bonjour,
Un exemple :
Pour exécuter une macro, supposons qu'Excel requiert la référence
suivante : "Microsoft Scripting Runtime" puisque j'ai déclaré une
variable comme ceci :
Dim Dc As Scripting.Dictionary
Comme la bibliothèque n'est pas chargée, Excel décèle une erreur de
"compilation" avant même d'exécuter le code. Par conséquent même si
j'inclus une gestion d'erreur à la procédure, elle ne sera pas exécutée
puisque la référence est manquante. Pour illustrer le propos, colle
cette macro dans un module et exécute-la.
'--------------------------------
Sub test()
Dim GestionErreur As String
On Error GoTo GestionErreur
Dim DC As Scripting.Dictionary
Set DC = createobject("Scripting.Dictionary")
Exit Sub
GestionErreur:
Set Sh = Worksheets.Add
Resume Next
Resume
End Sub
'--------------------------------
Pourquoi ne pas charger toutes les références à l'ouverture du classeur
comme ceci (celle qu'Excel ne charge pas par défaut). C'est de loin
l'approche la plus facile, la plus simple, et cela ne devraient pas
ralentir l'exécution ton code.
'-----------------------------------
Private Sub Workbook_Open()
On Error Resume Next
With ThisWorkbook.VBProject.References
.AddFromGuid GUID:="{420B2830-E718-11CF-893D-00A0C9054228}", _
Major:=1, Minor:=0
'.AddFromGuid ...
End With
End Sub
'-----------------------------------
Et pour trouver les paramètres de "AddFromGuid" de chacune de ces
références, tu charges manuellement toutes les références que ton
projetVBA requiert le temps d'exécuter cette macro suivante :
'------------------------------------
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
'------------------------------------
MichD
Bonjour Denis,
Tout d'abord excuse-moi de revenir si tard, j'ai quitté la région
parisienne et suis actuellement sur la route pour rejoindre le sud de la
France.
Ma question était purement intellectuelle.
J'ai ma "boîte d'outils" sur le ruban d'un fichier xlam.
Dans certains cas j'utilise des macros nécessitant les références :
. VBIDE : Microsoft Visual Basic for Applications Extensibility 5.3
. Word : Microsoft Word 14.0 Object Library
Celles-ci sont naturellement cochées.
À la suite de lectures sur le Net, je me suis amusé à écrire des macros
qui permettent de les charger sur demande, puis d'autres qui les
décochent également à la demande.
Fort de ces outils, je me demandais s'il n'était pas judicieux de mettre
un contrôle d'erreur en amont des macros qui utilisent ces références
afin de vérifier si les références nécessaires sont bien chargées et, si
non, de le faire automatiquement.
N'étant pas du tout à l'aise avec les GUIDS j'utilise, lors du
chargement par macros, le chemin complet de ces références.
En revanche, pour les décocher, j'utilise le nom de la référence (ex :
VBIDE, Word ou Scripting) que j'ai trouvé en utilisant une macro que tu
avais du publier ici-même quand j'étais jeune :-)).
Voilà, tu sais tout.
Par ailleurs, quand on est dans le VBE, 3 clicks pour charger une
référence n'a jamais tué personne.
Merci en tout cas pour ta réponse et conserve tes suggestions.
Bien amicalement
Michel
"MichD" a écrit dans le message de groupe de discussion :
qnftda$ta0$
Bonjour,
Un exemple :
Pour exécuter une macro, supposons qu'Excel requiert la référence
suivante : "Microsoft Scripting Runtime" puisque j'ai déclaré une
variable comme ceci :
Dim Dc As Scripting.Dictionary
Comme la bibliothèque n'est pas chargée, Excel décèle une erreur de
"compilation" avant même d'exécuter le code. Par conséquent même si
j'inclus une gestion d'erreur à la procédure, elle ne sera pas exécutée
puisque la référence est manquante. Pour illustrer le propos, colle
cette macro dans un module et exécute-la.
'--------------------------------
Sub test()
Dim GestionErreur As String
On Error GoTo GestionErreur
Dim DC As Scripting.Dictionary
Set DC = createobject("Scripting.Dictionary")
Exit Sub
GestionErreur:
Set Sh = Worksheets.Add
Resume Next
Resume
End Sub
'--------------------------------
Pourquoi ne pas charger toutes les références à l'ouverture du classeur
comme ceci (celle qu'Excel ne charge pas par défaut). C'est de loin
l'approche la plus facile, la plus simple, et cela ne devraient pas
ralentir l'exécution ton code.
'-----------------------------------
Private Sub Workbook_Open()
On Error Resume Next
With ThisWorkbook.VBProject.References
.AddFromGuid GUID:="{420B2830-E718-11CF-893D-00A0C9054228}", _
Major:=1, Minor:=0
'.AddFromGuid ...
End With
End Sub
'-----------------------------------
Et pour trouver les paramètres de "AddFromGuid" de chacune de ces
références, tu charges manuellement toutes les références que ton
projetVBA requiert le temps d'exécuter cette macro suivante :
'------------------------------------
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
'------------------------------------
MichD
Bonjour Denis,
Tout d'abord excuse-moi de revenir si tard, j'ai quitté la région
parisienne et suis actuellement sur la route pour rejoindre le sud de la
France.
Ma question était purement intellectuelle.
J'ai ma "boîte d'outils" sur le ruban d'un fichier xlam.
Dans certains cas j'utilise des macros nécessitant les références :
. VBIDE : Microsoft Visual Basic for Applications Extensibility 5.3
. Word : Microsoft Word 14.0 Object Library
Celles-ci sont naturellement cochées.
À la suite de lectures sur le Net, je me suis amusé à écrire des macros
qui permettent de les charger sur demande, puis d'autres qui les décochent
également à la demande.
Fort de ces outils, je me demandais s'il n'était pas judicieux de mettre
un contrôle d'erreur en amont des macros qui utilisent ces références afin
de vérifier si les références nécessaires sont bien chargées et, si non,
de le faire automatiquement.
N'étant pas du tout à l'aise avec les GUIDS j'utilise, lors du chargement
par macros, le chemin complet de ces références.
En revanche, pour les décocher, j'utilise le nom de la référence (ex :
VBIDE, Word ou Scripting) que j'ai trouvé en utilisant une macro que tu
avais du publier ici-même quand j'étais jeune :-)).
Voilà, tu sais tout.
Par ailleurs, quand on est dans le VBE, 3 clicks pour charger une
référence n'a jamais tué personne.
Merci en tout cas pour ta réponse et conserve tes suggestions.
Bien amicalement
Michel
"MichD" a écrit dans le message de groupe de discussion :
qnftda$ta0$
Bonjour,
Un exemple :
Pour exécuter une macro, supposons qu'Excel requiert la référence
suivante : "Microsoft Scripting Runtime" puisque j'ai déclaré une
variable comme ceci :
Dim Dc As Scripting.Dictionary
Comme la bibliothèque n'est pas chargée, Excel décèle une erreur de
"compilation" avant même d'exécuter le code. Par conséquent même si
j'inclus une gestion d'erreur à la procédure, elle ne sera pas exécutée
puisque la référence est manquante. Pour illustrer le propos, colle
cette macro dans un module et exécute-la.
'--------------------------------
Sub test()
Dim GestionErreur As String
On Error GoTo GestionErreur
Dim DC As Scripting.Dictionary
Set DC = createobject("Scripting.Dictionary")
Exit Sub
GestionErreur:
Set Sh = Worksheets.Add
Resume Next
Resume
End Sub
'--------------------------------
Pourquoi ne pas charger toutes les références à l'ouverture du classeur
comme ceci (celle qu'Excel ne charge pas par défaut). C'est de loin
l'approche la plus facile, la plus simple, et cela ne devraient pas
ralentir l'exécution ton code.
'-----------------------------------
Private Sub Workbook_Open()
On Error Resume Next
With ThisWorkbook.VBProject.References
.AddFromGuid GUID:="{420B2830-E718-11CF-893D-00A0C9054228}", _
Major:=1, Minor:=0
'.AddFromGuid ...
End With
End Sub
'-----------------------------------
Et pour trouver les paramètres de "AddFromGuid" de chacune de ces
références, tu charges manuellement toutes les références que ton
projetVBA requiert le temps d'exécuter cette macro suivante :
'------------------------------------
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
'------------------------------------
MichD
Bonjour Denis,
Tout d'abord excuse-moi de revenir si tard, j'ai quitté la région
parisienne et suis actuellement sur la route pour rejoindre le sud de la
France.
Ma question était purement intellectuelle.
J'ai ma "boîte d'outils" sur le ruban d'un fichier xlam.
Dans certains cas j'utilise des macros nécessitant les références :
. VBIDE : Microsoft Visual Basic for Applications Extensibility 5.3
. Word : Microsoft Word 14.0 Object Library
Celles-ci sont naturellement cochées.
À la suite de lectures sur le Net, je me suis amusé à écrire des macros
qui permettent de les charger sur demande, puis d'autres qui les décochent
également à la demande.
Fort de ces outils, je me demandais s'il n'était pas judicieux de mettre
un contrôle d'erreur en amont des macros qui utilisent ces références afin
de vérifier si les références nécessaires sont bien chargées et, si non,
de le faire automatiquement.
N'étant pas du tout à l'aise avec les GUIDS j'utilise, lors du chargement
par macros, le chemin complet de ces références.
En revanche, pour les décocher, j'utilise le nom de la référence (ex :
VBIDE, Word ou Scripting) que j'ai trouvé en utilisant une macro que tu
avais du publier ici-même quand j'étais jeune :-)).
Voilà, tu sais tout.
Par ailleurs, quand on est dans le VBE, 3 clicks pour charger une
référence n'a jamais tué personne.
Merci en tout cas pour ta réponse et conserve tes suggestions.
Bien amicalement
Michel
"MichD" a écrit dans le message de groupe de discussion :
qnftda$ta0$1@gioia.aioe.org...
Bonjour,
Un exemple :
Pour exécuter une macro, supposons qu'Excel requiert la référence
suivante : "Microsoft Scripting Runtime" puisque j'ai déclaré une
variable comme ceci :
Dim Dc As Scripting.Dictionary
Comme la bibliothèque n'est pas chargée, Excel décèle une erreur de
"compilation" avant même d'exécuter le code. Par conséquent même si
j'inclus une gestion d'erreur à la procédure, elle ne sera pas exécutée
puisque la référence est manquante. Pour illustrer le propos, colle
cette macro dans un module et exécute-la.
'--------------------------------
Sub test()
Dim GestionErreur As String
On Error GoTo GestionErreur
Dim DC As Scripting.Dictionary
Set DC = createobject("Scripting.Dictionary")
Exit Sub
GestionErreur:
Set Sh = Worksheets.Add
Resume Next
Resume
End Sub
'--------------------------------
Pourquoi ne pas charger toutes les références à l'ouverture du classeur
comme ceci (celle qu'Excel ne charge pas par défaut). C'est de loin
l'approche la plus facile, la plus simple, et cela ne devraient pas
ralentir l'exécution ton code.
'-----------------------------------
Private Sub Workbook_Open()
On Error Resume Next
With ThisWorkbook.VBProject.References
.AddFromGuid GUID:="{420B2830-E718-11CF-893D-00A0C9054228}", _
Major:=1, Minor:=0
'.AddFromGuid ...
End With
End Sub
'-----------------------------------
Et pour trouver les paramètres de "AddFromGuid" de chacune de ces
références, tu charges manuellement toutes les références que ton
projetVBA requiert le temps d'exécuter cette macro suivante :
'------------------------------------
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
'------------------------------------
MichD
Bonjour Denis,
Tout d'abord excuse-moi de revenir si tard, j'ai quitté la région
parisienne et suis actuellement sur la route pour rejoindre le sud de la
France.
Ma question était purement intellectuelle.
J'ai ma "boîte d'outils" sur le ruban d'un fichier xlam.
Dans certains cas j'utilise des macros nécessitant les références :
. VBIDE : Microsoft Visual Basic for Applications Extensibility 5.3
. Word : Microsoft Word 14.0 Object Library
Celles-ci sont naturellement cochées.
À la suite de lectures sur le Net, je me suis amusé à écrire des macros
qui permettent de les charger sur demande, puis d'autres qui les décochent
également à la demande.
Fort de ces outils, je me demandais s'il n'était pas judicieux de mettre
un contrôle d'erreur en amont des macros qui utilisent ces références afin
de vérifier si les références nécessaires sont bien chargées et, si non,
de le faire automatiquement.
N'étant pas du tout à l'aise avec les GUIDS j'utilise, lors du chargement
par macros, le chemin complet de ces références.
En revanche, pour les décocher, j'utilise le nom de la référence (ex :
VBIDE, Word ou Scripting) que j'ai trouvé en utilisant une macro que tu
avais du publier ici-même quand j'étais jeune :-)).
Voilà, tu sais tout.
Par ailleurs, quand on est dans le VBE, 3 clicks pour charger une
référence n'a jamais tué personne.
Merci en tout cas pour ta réponse et conserve tes suggestions.
Bien amicalement
Michel
"MichD" a écrit dans le message de groupe de discussion :
qnftda$ta0$
Bonjour,
Un exemple :
Pour exécuter une macro, supposons qu'Excel requiert la référence
suivante : "Microsoft Scripting Runtime" puisque j'ai déclaré une
variable comme ceci :
Dim Dc As Scripting.Dictionary
Comme la bibliothèque n'est pas chargée, Excel décèle une erreur de
"compilation" avant même d'exécuter le code. Par conséquent même si
j'inclus une gestion d'erreur à la procédure, elle ne sera pas exécutée
puisque la référence est manquante. Pour illustrer le propos, colle
cette macro dans un module et exécute-la.
'--------------------------------
Sub test()
Dim GestionErreur As String
On Error GoTo GestionErreur
Dim DC As Scripting.Dictionary
Set DC = createobject("Scripting.Dictionary")
Exit Sub
GestionErreur:
Set Sh = Worksheets.Add
Resume Next
Resume
End Sub
'--------------------------------
Pourquoi ne pas charger toutes les références à l'ouverture du classeur
comme ceci (celle qu'Excel ne charge pas par défaut). C'est de loin
l'approche la plus facile, la plus simple, et cela ne devraient pas
ralentir l'exécution ton code.
'-----------------------------------
Private Sub Workbook_Open()
On Error Resume Next
With ThisWorkbook.VBProject.References
.AddFromGuid GUID:="{420B2830-E718-11CF-893D-00A0C9054228}", _
Major:=1, Minor:=0
'.AddFromGuid ...
End With
End Sub
'-----------------------------------
Et pour trouver les paramètres de "AddFromGuid" de chacune de ces
références, tu charges manuellement toutes les références que ton
projetVBA requiert le temps d'exécuter cette macro suivante :
'------------------------------------
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
'------------------------------------
MichD