Changement de lecteur dans code

L

Laura15

Guest
Je fait une importation de données dans Excel grace a cette macro mis dans excel

Sub BImportationAccessDepenses()
Dim Session As Workspace
Dim BaseDonnée As Database
Dim Fiches As Recordset
Dim i

Set Session = DBEngine.Workspaces(0)
Set BaseDonnée = Session.OpenDatabase('D:\\MM\\CP_GT\\CP_GT.mdb')
Set Fiches = BaseDonnée.OpenRecordset('T_Depenses', dbOpenDynaset)
Fiches.MoveLast
Fiches.MoveFirst

Sheets('BASE_Dep').Select

For i = 1 To Fiches.RecordCount

etc


Mais le problème est que je mets un chemin , parfois je travaille sur un poste ou le répertoire est
('D:\\MM\\CP_GT\\CP_GT.mdb')
Et parfois je travaille sur un poste ou le disque n'est pas partinonné donc le chemin devient

('C:\\MM\\CP_GT\\CP_GT.mdb')

Donc pas très pratique , y a t'il un moyen pour que je ne sois pas obligé de changer ou d e déboguer ma macro quand je change de poste

Merci
 

Hervé

XLDnaute Barbatruc
Bonjour laura

sans avoir testé :


Dim toto As Object
Dim lecteur As Object
Dim bon As Boolean
Dim chemin As String
Dim Session As Workspace
Dim BaseDonnée    As Database
Dim Fiches    As Recordset
Dim i

bon =
False
Set toto = CreateObject('Scripting.FileSystemObject')

For Each lecteur In toto.Drives
       
If lecteur = 'D:' Then
                bon =
True
       
End If
Next lecteur

If bon Then chemin = 'D:MMCP_GTCP_GT.mdb' Else chemin = 'C:MMCP_GTCP_GT.mdb'

Set Session = DBEngine.Workspaces(0)
Set BaseDonnée = Session.OpenDatabase(chemin)
Set Fiches = BaseDonnée.OpenRecordset('T_Depenses', dbOpenDynaset)
Fiches.MoveLast
Fiches.MoveFirst

Sheets('BASE_Dep').Select

For i = 1 To Fiches.RecordCount


en tout cas le principe doit pas etre trop loin.

tester la présence du lecteur D.

salut
 
L

Laura15

Guest
Merci Hervé

Je n'avais pas trop reussie a adapter

Mais ca va j'ai trouvé une astuce comme mon apppli excel est dans le meme répertoire que l'appli ACCESS je me suis servie de Application.Workbooks.Path pour récupérer l'info du Path
Ca a l'air de fonctionner
Set BaseDonnée = Session.OpenDatabase(Application.Workbooks('depenses.xls').Path & '\\MMCP_GTCP_GT.mdb')

Bonne soirée
 

Discussions similaires

Réponses
1
Affichages
1 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 329
Messages
2 087 335
Membres
103 520
dernier inscrit
Azise