Bonjour,
Jusqu'au aujourd'hui, j'utilisais la version 32bits de office 2007. Je viens de m'abonner à la version 2013 64bits. Les deux version ne cohabitent pas, dixit l'installateur, donc: exit 2007.
Ma base de donnée contient une macro autoexec qui point vers une fonction VBA que j'ai pompée je ne sais plus où, mais qui fait un backup de la base sur un autre drive. Cette function utilise un 'filesystemobject' qui provient du 'Microsoft Scripting Runtime', j'ai vérifié, il est activé dans les références VBA de ma base. Néanmoins à l'ouverture de la base, où à l'exécution de la macro, la fenêtre vba s'ouvre et j'ai un message d'erreur:
Erreur de compilation : Projet ou bibliothèque introuvable
La ligne ou je déclare ma variable 'filesystemobject' est mise en bleu
Ma base se trouve dans un emplacement déclaré "sécurisé", pas d'avertissement sécurité au démarrage.
Voici le code:
Est ce une erreur due à la version 64bits non compatible? Je précise que j'utilise Win7 64bits (aussi auparavant avec Access 2007 32bits)
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
30
31
32
33
34 Option Compare Database Public Function BackupCopy() 'This function will allow you to copy a db that is open, 'You must set a reference to the 'Microsoft Scripting Runtime' for the CopyFile piece to work! Dim fso As FileSystemObject Dim sSourcePath As String Dim sSourceFile As String Dim sBackupPath As String Dim sBackupFile As String sSourcePath = CurrentProject.Path & "\" sSourceFile = CurrentProject.Name sBackupPath = "n:\carnetdevol\Backup\" sBackupFile = "CarnetDeVol2007_" & Format(Date, "yyyymmdd") & "_" & Format(Time, "hhmmss") & ".accdb" Set fso = New FileSystemObject fso.CopyFile sSourcePath & sSourceFile, sBackupPath & sBackupFile, True If sSourcePath <> "N:\CarnetDeVol\" Then fso.CopyFile sSourcePath & sSourceFile, "n:\carnetdevol\CarnetDeVol2007.accdb", True End If sBackupPath = "x:\onedrive\CarnetDeVol\" fso.CopyFile sSourcePath & sSourceFile, sBackupPath & sBackupFile, True Set fso = Nothing 'Beep 'MsgBox "Backup was successful and saved @ " & Chr(13) & Chr(13) & sBackupPath & Chr(13) & Chr(13) & "The backup file name is " & Chr(13) & Chr(13) & sBackupFile, vbInformation, "Backup Completed" End Function
Les autres fonctions dans ma base ne faisant pas référence à cet objet ne créent pas d'erreurs.
Merci de vos conseils.
Xavier
Partager