Rechercher : dans
Par :

Fonction ouvrir fichier en VBA Excel

Dernière réponse le 5 jan 2009 à 15:33:58 honeyseb1492, le 15 mar 2008 à 17:05:59 
 Signaler ce message aux modérateurs

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

1

le père, le 15 mar 2008 à 17:12:44

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)

Répondre à le père

3

honeyseb1492, le 15 mar 2008 à 17:16:42

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

Répondre à honeyseb1492

2

booddha, le 15 mar 2008 à 17:14:55

'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)

Répondre à booddha

4

honeyseb1492, le 15 mar 2008 à 17:29:45

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

Répondre à honeyseb1492

6

le père, le 15 mar 2008 à 17:34:02

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=""

Répondre à le père

9

 MEZ*, le 5 jan 2009 à 15:33:58

Bonjour Bouddha,

Pourrais tu translater les mêmes fonctions pour la déclaration et l'ouverture d'un fichier ppt?
merci d'avance

Répondre à MEZ*

5

booddha, le 15 mar 2008 à 17:32:44
  • +1

J'ai récupéré ça ici

Va y voir, tu trouveras peut-être ta solution.

Répondre à booddha

7

Otazik, le 16 avr 2008 à 16:14:35

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

Répondre à Otazik

8

Ambre, le 23 avr 2008 à 11:47:54

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.

Répondre à Ambre