FORUM Tom's Hardware » Programmation » VB / VBA / VBS » Récupérer l'emplacement d'un fichier
 

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

Il y a 269 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Récupérer l'emplacement d'un fichier
 
Plus d'informations

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.  
 

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


Plus d'informations

Bonjour,  
 
Pourquoi ne pas ouvrir le fichier directement depuis l'application Excel plutot que passer le shell.

Code :
  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.     Set objExcel = createobject("Excel.Application" )
  6.     if not objExcel is nothing then
  7.         sFile = objExcel.getOpenFileName("" ) 'RTFM
  8.         if not sFile = False then
  9.             set objWorkbook = objExcel.workbooks.open(sfile) ' RTFM
  10.             ... etc...
  11.         end if
  12.     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.


---------------
S'il n'y a pas de solution c'est qu'il n'y pas de problème

Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » VB / VBA / VBS » Récupérer l'emplacement d'un fichier
 

Annonces Google
Publicité