Changement de lecteur dans code

  • Initiateur de la discussion Initiateur de la discussion Laura15
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
1 K
Réponses
1
Affichages
17 K
Compte Supprimé 979
C
Retour