Bonjour à tous !
J'ai un souci avec une macro access, qui fonctionne parfaitement quand je la lance depuis mon domicile avec le bureau à distance, mais qui plante dès que je veux la lancer sur machine, au taff .
En gros, dans un répertoire donné (ici, d:\boumediene), j'ai toute une floppée de bases de données qui contiennent une même fonction d'extraction et d'édition de données ("exporter4"). Dans une autre base, j'ai écrit une fonction qui va prendre chacune des bases du dossier "boumediene" et lancer la fonction exporter4. Ca plante sur la l'instruction: "Set db = acApp.CurrentDb", avec le message d'erreur: "La méthode CurrentDb de l'objet Application a échoué"
Ici, le code qui prend toutes les bases du dossier
Là, le code qui lance exporter4
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 Sub test() Dim objFso, objDossier, objFichier Dim repertoire, nomFichierTxt, chemin repertoire = "d:\boumediene" Set objFso = CreateObject("Scripting.FileSystemObject") Set objDossier = objFso.GetFolder(repertoire) For Each objFichier In objDossier.Files If (InStr(1, objFichier.Name, ".mdb", 1) > 0) Then chemin = repertoire & "\" & objFichier.Name lanceExporter4 (chemin) End If Next Set objDossier = Nothing Set objFso = Nothing End Sub
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 Public Sub lanceExporter4(chemin As String) Dim db As Database Dim acApp As New Access.Application ' Démarrer Access Set acApp = New Access.Application ' Ouvrir la base de données concernée acApp.OpenCurrentDatabase (chemin) 'et c'est ici que ça plante Set db = acApp.CurrentDb ' Exécuter la macro acApp.Run (exporter4(db)) acApp.CloseCurrentDatabase ' Quitter Access acApp.Quit Set acApp = Nothing End Sub
Partager