Se connecter avec
S'enregistrer | Connectez-vous

Récupérer l'emplacement d'un fichier

Dernière réponse : dans Programmation

Bonjour,

Débutante dans ce langage, je souhaiterais ouvrir un fichier Excel via une macro sous Access afin de l'utiliser.

Je le cherche via un "BrowseForFolder". J'arrive très bien à récupérer l'emplacement s'il s'agit d'un dossier, en revanche s'il s'agit d'un fichier, j'obtient comme erreur

"La méthode 'ParseName' de l'objet 'Folder2' a échoué"

Voila mon code, en vous remerciant d'avance.

  1. Public Function ouvrirFichier(nomFichier As String, descrFichier As String) As String
  2.  
  3. Dim objAppli, objFichier, objScript 'Déclaration des objets utilisés
  4.  
  5. viderTable ("Vrai_Doublons")
  6.  
  7. 'Utilisation du shell
  8. Set objAppli = CreateObject("Shell.Application")
  9.  
  10. 'Ouverture de la boîte de dialogue pour sélectionner le fichier voulu
  11. Set objFichier = objAppli.BrowseForFolder(&H0&, "Veuillez indiquer le chemin d'accès au fichier " & descrFichier & " à importer", &H4000&)
  12.  
  13. 'Retourne le nom et le chemin du fichier choisi
  14. 'ouvrirFichier = objFichier.ParentFolder.ParseName(objFichier.Title).Path
  15.  
  16. 'Ferme les objets
  17. Set objFichier = Nothing
  18. Set objScript = Nothing
  19. Set objAppli = Nothing
  20.  
  21. Dim objExcel As Object 'Déclaration de l'application Excel
  22. Dim objWorkBook As Object 'Déclaration du classeur Excel
  23. Dim objFeuille As Object 'Déclaration de la feuille Excel
  24.  
  25. End Function

Autres pages sur : recuperer emplacement fichier

Lassé par la pub ? Créez un compte

Bonjour,

Pourquoi ne pas ouvrir le fichier directement depuis l'application Excel plutot que passer le shell.
  1. Dim objExcel As Object 'Déclaration de l'application Excel
  2. Dim objWorkBook As Object 'Déclaration du classeur Excel
  3. Dim objFeuille As Object 'Déclaration de la feuille Excel
  4. Dim sFile as variant ' récupération du nom du fichier
  5.  
  6. Set objExcel = createobject("Excel.Application")
  7. if not objExcel is nothing then
  8. sFile = objExcel.getOpenFileName("") 'RTFM
  9. if not sFile = False then
  10. set objWorkbook = objExcel.workbooks.open(sfile) ' RTFM
  11. ... etc...
  12. end if
  13. end if


Après une fois que tu as ouvert le fichier Excel, tu peux utiliser la propriété Path du classeur ouvert.
Regardes bien l'aide des fonctions que j'utilise car j'ai pas tout compléter.

Bon courage.
Lassé par la pub ? Créez un compte