Bonjour,
Je pense que tout est dans le titre, j'ai un fichier excel qui utilise certaine reference, je voulais savoir comment faire pour activer automatiquement les référence nécéssaire...
Merci !
J'ai trouvé plusieurs liens avec des codes mais aucun ne fonctionne.
J'en ai trouvé un qui conseille de charger les référence à partir des fichiers.
Le code ce base sur une recherche du repertoir système.
Or, mes references à activer font parties du repertoir :
C:\Program Files\Fichiers communs\System\ado\msadox.dll
J'ai donc modifié le code pour pouvoir adapté la localisation du fichier au Fichier Commun.
Voici mon code :
Si je met "On Error Resume Next" en commentaire, voici le message d'erreur que j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 'TOUT EN HAUT Private Declare Function GetSystemDirectory Lib "kernel32" _ Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, _ ByVal nSize As Long) As Long Function CheminFichierCommun() Dim RetVal As Long Dim SysDir As String Dim LettreLecteur As String SysDir = Space$(256) RetVal = GetSystemDirectory(SysDir, Len(SysDir)) If RetVal <> 0 Then LettreLecteur = Left$(SysDir, RetVal) End If 'Je réutilise le chemin systeme mais je copie seulement les 3 premiers charactère. 'De ce fait j'ai la lettre du lecteur. LettreLecteur = Mid(LettreLecteur, 1, 3) CheminFichierCommun = LettreLecteur End Function Sub TesterBibliothequeFormulaire2() Dim File As String File = CheminFichierCommun & "Program Files\Fichiers communs\System\ado\msadox.dll" On Error Resume Next ThisWorkbook.VBProject.References.AddFromFile File End Sub
Erreur d'exécution '1004':
La méthode 'VBProject' de l'objet'_WorkBook' a échoué.
Merci de m'aider car là je ne comprend rien du tout !
J'ai aussi essayé avec ce code :
La première fois que j'ai lancé ce code j'ai eu un message du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Sub FixRef() 'Changes reference from ADO x.x to ADO 2.8 Dim wb As Workbook Dim ref As Variant Dim sRefFile As String 'The file path for ADO 2.8 sRefFile = "C:\Program Files\Fichiers communs\System\ado\msadox.dll" 'Open the workbook to change ' Set wb = ActiveWorkbook 'Loop through the references and delete the ADO one For Each ref In ThisWorkbook.VBProject.References If InStr(1, ref.Description, "ActiveX Data Objects") > 0 Then ThisWorkbook.VBProject.References.Remove ref Exit For End If Next ref 'Add the new reference ThisWorkbook.VBProject.References.AddFromFile sRefFile 'wb.Save 'wb.Close End Sub
"La modification n'est pas fiable" un truque dans le genre...
Puis maintenant le message reste le même que pour le code du post ci dessus :
Erreur d'exécution '1004':
La méthode 'VBProject' de l'objet'_WorkBook' a échoué.
D'avance merci.
Partager