Menu

Fonction ouvrir fichier en VBA Excel [Fermé]

Messages postés
3
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
15 mars 2008
- - Dernière réponse :  MEZ* - 5 janv. 2009 à 15:33
Bonjour je souhaite ecrire un fonction qui ouvre un fichier en VBA excel.

Est ce possible ou ne puis je le faire qu'en utilisant une macro ?

Voici le code qui ne fonctionne pas:


Function A(Nom_Fichier as string) As Double

'On ouvre le fichier en question

Workbooks.Open Filename:="D:\"&"Nom_Fichier"&".xls"

A = Workbooks(Nom_Fichier).Worksheets("Feuil1").Range("A1").value

Workbooks.Close savechanges:=False, routeworkbook:=False

End Function


Merci par avance pour votre réponse !!

Sebastien
Afficher la suite 

3 réponses

Meilleure réponse
4
Merci
Bonjour

Workbooks.Open Filename:="D:\"&"Nom_Fichier"&".xls"

Avec cette ligne, tu essayes d'ouvrir un fichier qui s'appelle Nom_Fichier
essaye plutôt :
Workbooks.Open Filename:="D:\" & Nom_Fichier & ".xls"

("Nom_Fichier" entre " " n'est pas une variable)

Dire « Merci » 4

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 39128 internautes nous ont dit merci ce mois-ci

honeyseb1492
Messages postés
3
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
15 mars 2008
-
Bonjour et tout d'abord merci pour ta réponse rapide !

Je suis d'accord avec ta correction, mais jai juste mis un code pour la forme, pour illuster ma question en fait.

Mon intérogation réelle est: "Est ce qu'on peut utiliser une "Fonction" pour ouvrir un fichier Excel ?"

Autrement dit: Quand j'ai un fichier Excel ouvert, puis je ecrire dans une case:

= Fonction (Nom du fichier à ouvrir") ????

Merci par avance
1
Merci
'Déclaration des variables
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel

'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
Set wbExcel = appExcel.Workbooks.Open("C:\MonFichierExcel.xls")
'wsExcel correspond à la première feuille du fichier
Set wsExcel = wbExcel.Worksheets(1)
honeyseb1492
Messages postés
3
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
15 mars 2008
-
Bonjour booddha

J'ai testé ton code que j'ai mis à ma sauce (ci-dessous). Quand apres ça je vais dans un classeur et que je mets dans une cellule: = ouverture_fichier() et "Entrée" j'obtiens un "# VALEUR"...

Est ce normal ? Je m'attendais à ce que le fichier 0000.xls s'ouvre ...

Pour info, je suis débutant en VBA.


Function ouverture_fichier ()

'Déclaration des variables
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel

'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")

'Ouverture d'un fichier Excel
Set wbExcel = appExcel.Workbooks.Open("C:\Documents and Settings\Seb\Bureau\0000.xls")

'wsExcel correspond à la première feuille du fichier
Set wsExcel = wbExcel.Worksheets(1)

End Function
> honeyseb1492
Messages postés
3
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
15 mars 2008
-
Il ne faut pas oublier de dire à la fonction quelle valeur elle doit rendre, c'est cette valeur qui apparaîtra dans ta cellule
quelque chose comme :
ouverture_fichier=""
Bonjour Bouddha,

Pourrais tu translater les mêmes fonctions pour la déclaration et l'ouverture d'un fichier ppt?
merci d'avance
1
Merci
J'ai récupéré ça ici

Va y voir, tu trouveras peut-être ta solution.
ce petit programme ouvre un fichier txt dans un fichier excel


fna = Application.GetOpenFilename

ChDir "P:\Echange R4\Documents Nokia\Document referentiel\Documentation NOKIA\DEx\Tools\Alarmes\Extract"
Workbooks.OpenText Filename:= _
fna, Origin:=xlMSDOS _
, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
> Otazik -
Bonjour,

je cherche a copier les donées d'un tableau Excel dans un fichier .txt formaté d'une certaine facon.
Comment creer, nommer , indiquer son emplacement et ouvrir un fichier txt depuis une macro excel programmée en VBA, ensuite je devrais extraire les infos contenues dans le fichier excel depuis lequel je souhaite declencher la macro pour les inserer selon une certaine disposition dans le fichier txt.