Ouverture des librairies à l'ouverture d'un fichier Excel
5 réponses
Alex St-Pierre
Bonjour,
J'ai un programme qui requiert la librairie de Word pour fonctionner. Pour
ne pas créer de problème lorsqu'on change de version d'Office, j'ai mis une
procédure à l'ouverture et la fermeture du fichier pour ouvrir ou fermer la
librairie word.
1- Si on ne click pas "Faire confiance au projet Visual Basic", la procédure
est inéficace puisqu'elle requiert que l'utilisateur clique sur cet option.
Y-a-t-il d'autres approches plus simple?
2- Y-a-t-il moyen d'effacer les librairies MANQUANTES si jamais il y en a
car cela cré cré beaucoup de problèmes?
Merci bcp !!
Alex
Voici ce que j'utilise dans le module de classe:
Private Sub Workbook_Open()
Dim ref As Object
Dim refs As Object
Dim sID As String
On Error Resume Next
Set refs = ThisWorkbook.VBProject.References
If refs Is Nothing Then
MsgBox "need to change security settings"
Exit Sub
End If
For Each ref In refs
If ref.GUID = sID Then
Exit Sub
End If
Next
On Error GoTo errH
refs.AddFromGuid sID, 0, 0
Exit Sub
errH:
MsgBox "Error setting reference to Word"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ref As Object
Dim refs As Object
On Error Resume Next
Set refs = ThisWorkbook.VBProject.References
If refs Is Nothing Then
MsgBox "need to change security settings"
Exit Sub
End If
On Error GoTo 0
For Each ref In refs
Err.Number = 0
On Error Resume Next
If ref.Name = "Word" Then
ThisWorkbook.VBProject.References.Remove ref
Exit Sub
End If
On Error GoTo 0
Next
Et pour les références manquantes, tu peux utiliser ceci :
'------------------- Private Sub test()
Dim Ref As Object, R As Object Set Ref = ThisWorkbook.VBProject.References For Each R In Ref If R.isbroken = True Then Ref.Remove R End If Next End Sub '-------------------
Essaie ceci : à copier dans le ThisWorkbook de ton Classeur :
'-------------------------------
Private Sub Workbook_Open()
Dim Ref As Object, R As Object
Set Ref = ThisWorkbook.VBProject.References
For Each R In Ref
If R.Name = "Word" Then
Ref.Remove R
End If
Next
Et pour les références manquantes, tu peux utiliser ceci :
'-------------------
Private Sub test()
Dim Ref As Object, R As Object
Set Ref = ThisWorkbook.VBProject.References
For Each R In Ref
If R.isbroken = True Then
Ref.Remove R
End If
Next
End Sub
'-------------------
Et pour les références manquantes, tu peux utiliser ceci :
'------------------- Private Sub test()
Dim Ref As Object, R As Object Set Ref = ThisWorkbook.VBProject.References For Each R In Ref If R.isbroken = True Then Ref.Remove R End If Next End Sub '-------------------
Alex St-Pierre
Salut Michel, Il y a un message d'erreur à la ligne: Set Ref = ThisWorkbook.VBProject.References (erreur 1004) ou à cette ligne: ThisWorkbook.VBProject.References.AddFromGuid _ "{00020905-0000-0000-C000-000000000046}", 3, 8 qui apparait lorsque le click Macro/Sécurité/"Faire confiance au projet Visual Basic" n'est pas cliqué. Si je met le click, tout est correct. Je ne sais pas s'il y a une autre façon d'ouvrir les liens? Sinon, je vais mettre un message pour expliquer aux gens comment ajouter le click. La macro qui efface les liens manquants fonctionne très bien! Merci ! -- Alex St-Pierre
"MichDenis" wrote:
Essaie ceci : à copier dans le ThisWorkbook de ton Classeur :
'------------------------------- Private Sub Workbook_Open()
Dim Ref As Object, R As Object Set Ref = ThisWorkbook.VBProject.References For Each R In Ref If R.Name = "Word" Then Ref.Remove R End If Next
Et pour les références manquantes, tu peux utiliser ceci :
'------------------- Private Sub test()
Dim Ref As Object, R As Object Set Ref = ThisWorkbook.VBProject.References For Each R In Ref If R.isbroken = True Then Ref.Remove R End If Next End Sub '-------------------
Salut Michel,
Il y a un message d'erreur à la ligne:
Set Ref = ThisWorkbook.VBProject.References (erreur 1004)
ou à cette ligne:
ThisWorkbook.VBProject.References.AddFromGuid _
"{00020905-0000-0000-C000-000000000046}", 3, 8
qui apparait lorsque le click Macro/Sécurité/"Faire confiance au projet
Visual Basic" n'est pas cliqué. Si je met le click, tout est correct.
Je ne sais pas s'il y a une autre façon d'ouvrir les liens? Sinon, je vais
mettre un message pour expliquer aux gens comment ajouter le click.
La macro qui efface les liens manquants fonctionne très bien!
Merci !
--
Alex St-Pierre
"MichDenis" wrote:
Essaie ceci : à copier dans le ThisWorkbook de ton Classeur :
'-------------------------------
Private Sub Workbook_Open()
Dim Ref As Object, R As Object
Set Ref = ThisWorkbook.VBProject.References
For Each R In Ref
If R.Name = "Word" Then
Ref.Remove R
End If
Next
Et pour les références manquantes, tu peux utiliser ceci :
'-------------------
Private Sub test()
Dim Ref As Object, R As Object
Set Ref = ThisWorkbook.VBProject.References
For Each R In Ref
If R.isbroken = True Then
Ref.Remove R
End If
Next
End Sub
'-------------------
Salut Michel, Il y a un message d'erreur à la ligne: Set Ref = ThisWorkbook.VBProject.References (erreur 1004) ou à cette ligne: ThisWorkbook.VBProject.References.AddFromGuid _ "{00020905-0000-0000-C000-000000000046}", 3, 8 qui apparait lorsque le click Macro/Sécurité/"Faire confiance au projet Visual Basic" n'est pas cliqué. Si je met le click, tout est correct. Je ne sais pas s'il y a une autre façon d'ouvrir les liens? Sinon, je vais mettre un message pour expliquer aux gens comment ajouter le click. La macro qui efface les liens manquants fonctionne très bien! Merci ! -- Alex St-Pierre
"MichDenis" wrote:
Essaie ceci : à copier dans le ThisWorkbook de ton Classeur :
'------------------------------- Private Sub Workbook_Open()
Dim Ref As Object, R As Object Set Ref = ThisWorkbook.VBProject.References For Each R In Ref If R.Name = "Word" Then Ref.Remove R End If Next
Et pour les références manquantes, tu peux utiliser ceci :
'------------------- Private Sub test()
Dim Ref As Object, R As Object Set Ref = ThisWorkbook.VBProject.References For Each R In Ref If R.isbroken = True Then Ref.Remove R End If Next End Sub '-------------------
MichDenis
| le click Macro/Sécurité/"Faire confiance au projet | Visual Basic" n'est pas cliqué
Ceci n'a rien à voir avec la macro. De plus, je ne connais pas une façon de cocher ces cases par Macro. Il y a probablement une entrée à modifier dans la base de registre mais je ne la connais pas.
"Alex St-Pierre" a écrit dans le message de news:
Salut Michel, Il y a un message d'erreur à la ligne: Set Ref = ThisWorkbook.VBProject.References (erreur 1004) ou à cette ligne: ThisWorkbook.VBProject.References.AddFromGuid _ "{00020905-0000-0000-C000-000000000046}", 3, 8 qui apparait lorsque le click Macro/Sécurité/"Faire confiance au projet Visual Basic" n'est pas cliqué. Si je met le click, tout est correct. Je ne sais pas s'il y a une autre façon d'ouvrir les liens? Sinon, je vais mettre un message pour expliquer aux gens comment ajouter le click. La macro qui efface les liens manquants fonctionne très bien! Merci ! -- Alex St-Pierre
"MichDenis" wrote:
Essaie ceci : à copier dans le ThisWorkbook de ton Classeur :
'------------------------------- Private Sub Workbook_Open()
Dim Ref As Object, R As Object Set Ref = ThisWorkbook.VBProject.References For Each R In Ref If R.Name = "Word" Then Ref.Remove R End If Next
Et pour les références manquantes, tu peux utiliser ceci :
'------------------- Private Sub test()
Dim Ref As Object, R As Object Set Ref = ThisWorkbook.VBProject.References For Each R In Ref If R.isbroken = True Then Ref.Remove R End If Next End Sub '-------------------
| le click Macro/Sécurité/"Faire confiance au projet
| Visual Basic" n'est pas cliqué
Ceci n'a rien à voir avec la macro. De plus, je ne connais pas
une façon de cocher ces cases par Macro. Il y a probablement
une entrée à modifier dans la base de registre mais je ne la
connais pas.
"Alex St-Pierre" <AlexStPierre@discussions.microsoft.com> a écrit dans le message de news:
C3B7B354-A4F3-4F1F-839B-F10C5B96C223@microsoft.com...
Salut Michel,
Il y a un message d'erreur à la ligne:
Set Ref = ThisWorkbook.VBProject.References (erreur 1004)
ou à cette ligne:
ThisWorkbook.VBProject.References.AddFromGuid _
"{00020905-0000-0000-C000-000000000046}", 3, 8
qui apparait lorsque le click Macro/Sécurité/"Faire confiance au projet
Visual Basic" n'est pas cliqué. Si je met le click, tout est correct.
Je ne sais pas s'il y a une autre façon d'ouvrir les liens? Sinon, je vais
mettre un message pour expliquer aux gens comment ajouter le click.
La macro qui efface les liens manquants fonctionne très bien!
Merci !
--
Alex St-Pierre
"MichDenis" wrote:
Essaie ceci : à copier dans le ThisWorkbook de ton Classeur :
'-------------------------------
Private Sub Workbook_Open()
Dim Ref As Object, R As Object
Set Ref = ThisWorkbook.VBProject.References
For Each R In Ref
If R.Name = "Word" Then
Ref.Remove R
End If
Next
Et pour les références manquantes, tu peux utiliser ceci :
'-------------------
Private Sub test()
Dim Ref As Object, R As Object
Set Ref = ThisWorkbook.VBProject.References
For Each R In Ref
If R.isbroken = True Then
Ref.Remove R
End If
Next
End Sub
'-------------------
| le click Macro/Sécurité/"Faire confiance au projet | Visual Basic" n'est pas cliqué
Ceci n'a rien à voir avec la macro. De plus, je ne connais pas une façon de cocher ces cases par Macro. Il y a probablement une entrée à modifier dans la base de registre mais je ne la connais pas.
"Alex St-Pierre" a écrit dans le message de news:
Salut Michel, Il y a un message d'erreur à la ligne: Set Ref = ThisWorkbook.VBProject.References (erreur 1004) ou à cette ligne: ThisWorkbook.VBProject.References.AddFromGuid _ "{00020905-0000-0000-C000-000000000046}", 3, 8 qui apparait lorsque le click Macro/Sécurité/"Faire confiance au projet Visual Basic" n'est pas cliqué. Si je met le click, tout est correct. Je ne sais pas s'il y a une autre façon d'ouvrir les liens? Sinon, je vais mettre un message pour expliquer aux gens comment ajouter le click. La macro qui efface les liens manquants fonctionne très bien! Merci ! -- Alex St-Pierre
"MichDenis" wrote:
Essaie ceci : à copier dans le ThisWorkbook de ton Classeur :
'------------------------------- Private Sub Workbook_Open()
Dim Ref As Object, R As Object Set Ref = ThisWorkbook.VBProject.References For Each R In Ref If R.Name = "Word" Then Ref.Remove R End If Next
Et pour les références manquantes, tu peux utiliser ceci :
'------------------- Private Sub test()
Dim Ref As Object, R As Object Set Ref = ThisWorkbook.VBProject.References For Each R In Ref If R.isbroken = True Then Ref.Remove R End If Next End Sub '-------------------
Ange Ounis
Ceci n'a rien à voir avec la macro. De plus, je ne connais pas une façon de cocher ces cases par Macro. Il y a probablement une entrée à modifier dans la base de registre mais je ne la connais pas.
Pour l'option "Faire confiance au projet Visual Basic", il s'agit de cette clé (pour Excel 2003) :
| le click Macro/Sécurité/"Faire confiance au projet | Visual Basic" n'est pas cliqué
Ceci n'a rien à voir avec la macro. De plus, je ne connais pas une façon de cocher ces cases par Macro. Il y a probablement une entrée à modifier dans la base de registre mais je ne la connais pas.
"Alex St-Pierre" a écrit dans le message de news:
Salut Michel, Il y a un message d'erreur à la ligne: Set Ref = ThisWorkbook.VBProject.References (erreur 1004) ou à cette ligne: ThisWorkbook.VBProject.References.AddFromGuid _ "{00020905-0000-0000-C000-000000000046}", 3, 8 qui apparait lorsque le click Macro/Sécurité/"Faire confiance au projet Visual Basic" n'est pas cliqué. Si je met le click, tout est correct. Je ne sais pas s'il y a une autre façon d'ouvrir les liens? Sinon, je vais mettre un message pour expliquer aux gens comment ajouter le click. La macro qui efface les liens manquants fonctionne très bien! Merci !
Ceci n'a rien à voir avec la macro. De plus, je ne connais pas
une façon de cocher ces cases par Macro. Il y a probablement
une entrée à modifier dans la base de registre mais je ne la
connais pas.
Pour l'option "Faire confiance au projet Visual Basic", il s'agit de cette clé
(pour Excel 2003) :
| le click Macro/Sécurité/"Faire confiance au projet
| Visual Basic" n'est pas cliqué
Ceci n'a rien à voir avec la macro. De plus, je ne connais pas
une façon de cocher ces cases par Macro. Il y a probablement
une entrée à modifier dans la base de registre mais je ne la
connais pas.
"Alex St-Pierre" <AlexStPierre@discussions.microsoft.com> a écrit dans le message de news:
C3B7B354-A4F3-4F1F-839B-F10C5B96C223@microsoft.com...
Salut Michel,
Il y a un message d'erreur à la ligne:
Set Ref = ThisWorkbook.VBProject.References (erreur 1004)
ou à cette ligne:
ThisWorkbook.VBProject.References.AddFromGuid _
"{00020905-0000-0000-C000-000000000046}", 3, 8
qui apparait lorsque le click Macro/Sécurité/"Faire confiance au projet
Visual Basic" n'est pas cliqué. Si je met le click, tout est correct.
Je ne sais pas s'il y a une autre façon d'ouvrir les liens? Sinon, je vais
mettre un message pour expliquer aux gens comment ajouter le click.
La macro qui efface les liens manquants fonctionne très bien!
Merci !
Ceci n'a rien à voir avec la macro. De plus, je ne connais pas une façon de cocher ces cases par Macro. Il y a probablement une entrée à modifier dans la base de registre mais je ne la connais pas.
Pour l'option "Faire confiance au projet Visual Basic", il s'agit de cette clé (pour Excel 2003) :
| le click Macro/Sécurité/"Faire confiance au projet | Visual Basic" n'est pas cliqué
Ceci n'a rien à voir avec la macro. De plus, je ne connais pas une façon de cocher ces cases par Macro. Il y a probablement une entrée à modifier dans la base de registre mais je ne la connais pas.
"Alex St-Pierre" a écrit dans le message de news:
Salut Michel, Il y a un message d'erreur à la ligne: Set Ref = ThisWorkbook.VBProject.References (erreur 1004) ou à cette ligne: ThisWorkbook.VBProject.References.AddFromGuid _ "{00020905-0000-0000-C000-000000000046}", 3, 8 qui apparait lorsque le click Macro/Sécurité/"Faire confiance au projet Visual Basic" n'est pas cliqué. Si je met le click, tout est correct. Je ne sais pas s'il y a une autre façon d'ouvrir les liens? Sinon, je vais mettre un message pour expliquer aux gens comment ajouter le click. La macro qui efface les liens manquants fonctionne très bien! Merci !
MichDenis
Merci Ange Ounis pour l'information.
"Ange Ounis" a écrit dans le message de news: %
Ceci n'a rien à voir avec la macro. De plus, je ne connais pas une façon de cocher ces cases par Macro. Il y a probablement une entrée à modifier dans la base de registre mais je ne la connais pas.
Pour l'option "Faire confiance au projet Visual Basic", il s'agit de cette clé (pour Excel 2003) :
| le click Macro/Sécurité/"Faire confiance au projet | Visual Basic" n'est pas cliqué
Ceci n'a rien à voir avec la macro. De plus, je ne connais pas une façon de cocher ces cases par Macro. Il y a probablement une entrée à modifier dans la base de registre mais je ne la connais pas.
"Alex St-Pierre" a écrit dans le message de news:
Salut Michel, Il y a un message d'erreur à la ligne: Set Ref = ThisWorkbook.VBProject.References (erreur 1004) ou à cette ligne: ThisWorkbook.VBProject.References.AddFromGuid _ "{00020905-0000-0000-C000-000000000046}", 3, 8 qui apparait lorsque le click Macro/Sécurité/"Faire confiance au projet Visual Basic" n'est pas cliqué. Si je met le click, tout est correct. Je ne sais pas s'il y a une autre façon d'ouvrir les liens? Sinon, je vais mettre un message pour expliquer aux gens comment ajouter le click. La macro qui efface les liens manquants fonctionne très bien! Merci !
Merci Ange Ounis pour l'information.
"Ange Ounis" <nospam@nospam> a écrit dans le message de news:
%23crQxsWEHHA.3224@TK2MSFTNGP04.phx.gbl...
Ceci n'a rien à voir avec la macro. De plus, je ne connais pas
une façon de cocher ces cases par Macro. Il y a probablement
une entrée à modifier dans la base de registre mais je ne la
connais pas.
Pour l'option "Faire confiance au projet Visual Basic", il s'agit de cette clé
(pour Excel 2003) :
| le click Macro/Sécurité/"Faire confiance au projet
| Visual Basic" n'est pas cliqué
Ceci n'a rien à voir avec la macro. De plus, je ne connais pas
une façon de cocher ces cases par Macro. Il y a probablement
une entrée à modifier dans la base de registre mais je ne la
connais pas.
"Alex St-Pierre" <AlexStPierre@discussions.microsoft.com> a écrit dans le message de news:
C3B7B354-A4F3-4F1F-839B-F10C5B96C223@microsoft.com...
Salut Michel,
Il y a un message d'erreur à la ligne:
Set Ref = ThisWorkbook.VBProject.References (erreur 1004)
ou à cette ligne:
ThisWorkbook.VBProject.References.AddFromGuid _
"{00020905-0000-0000-C000-000000000046}", 3, 8
qui apparait lorsque le click Macro/Sécurité/"Faire confiance au projet
Visual Basic" n'est pas cliqué. Si je met le click, tout est correct.
Je ne sais pas s'il y a une autre façon d'ouvrir les liens? Sinon, je vais
mettre un message pour expliquer aux gens comment ajouter le click.
La macro qui efface les liens manquants fonctionne très bien!
Merci !
Ceci n'a rien à voir avec la macro. De plus, je ne connais pas une façon de cocher ces cases par Macro. Il y a probablement une entrée à modifier dans la base de registre mais je ne la connais pas.
Pour l'option "Faire confiance au projet Visual Basic", il s'agit de cette clé (pour Excel 2003) :
| le click Macro/Sécurité/"Faire confiance au projet | Visual Basic" n'est pas cliqué
Ceci n'a rien à voir avec la macro. De plus, je ne connais pas une façon de cocher ces cases par Macro. Il y a probablement une entrée à modifier dans la base de registre mais je ne la connais pas.
"Alex St-Pierre" a écrit dans le message de news:
Salut Michel, Il y a un message d'erreur à la ligne: Set Ref = ThisWorkbook.VBProject.References (erreur 1004) ou à cette ligne: ThisWorkbook.VBProject.References.AddFromGuid _ "{00020905-0000-0000-C000-000000000046}", 3, 8 qui apparait lorsque le click Macro/Sécurité/"Faire confiance au projet Visual Basic" n'est pas cliqué. Si je met le click, tout est correct. Je ne sais pas s'il y a une autre façon d'ouvrir les liens? Sinon, je vais mettre un message pour expliquer aux gens comment ajouter le click. La macro qui efface les liens manquants fonctionne très bien! Merci !