Obtention du chemin d'accès d'un fichier

F

frédéric

Guest
Bonjour à tous,

Je me pose une question sur la faisabilité d'une application sur Excel et je vous demande votre avis sur un point particulier :

Est-il possible sous Excel de demander à l'utilisateur le chemin d'accès d'un fichier par une boite de dialogue ?

En effet je n'ai rien trouvé dans les barres d'outils Excel qui me permettrait de créer un tel formulaire.

Merci d'avance pour vos réponses.
 
F

frédéric

Guest
Merci beaucoup, c'est exactement ce que je voulais.

Une petite question : où peut-on trouver une liste de ce type de fonctions, car la fonction que tu m'a donné n'est pas définie dans l'aide VB ?
 
@

@+Thierry

Guest
Salut Frédéric, Baroude, le Forum

Voici ce que donne l'aide pour GetOpenFilename Methode, mais je travaille en version américaine d'Excel...

GetOpenFilename Method

Displays the standard Open dialog box and gets a file name from the user without actually opening any files.

Syntax
expression.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)

expression Required. An expression that returns an Application object.

FileFilter Optional Variant. A string specifying file filtering criteria.

This string consists of pairs of file filter strings followed by the MS-DOS wildcard file filter specification, with each part and each pair separated by commas. Each separate pair is listed in the Files of type drop-down list box. For example, the following string specifies two file filters—text and addin: "Text Files (*.txt),*.txt,Add-In Files (*.xla),*.xla".

To use multiple MS-DOS wildcard expressions for a single file filter type, separate the wildcard expressions with semicolons; for example, "Visual Basic Files (*.bas; *.txt),*.bas;*.txt".

If omitted, this argument defaults to "All Files (*.*),*.*".

FilterIndex Optional Variant. Specifies the index numbers of the default file filtering criteria, from 1 to the number of filters specified in FileFilter. If this argument is omitted or greater than the number of filters present, the first file filter is used.

Title Optional Variant. Specifies the title of the dialog box. If this argument is omitted, the title is "Open."

ButtonText Optional Variant. Macintosh only.

MultiSelect Optional Variant. True to allow multiple file names to be selected. False to allow only one file name to be selected. The default value is False

Remarks

This method returns the selected file name or the name entered by the user. The returned name may include a path specification. If MultiSelect is True, the return value is an array of the selected file names (even if only one filename is selected). Returns False if the user cancels the dialog box.

This method may change the current drive or folder.

Dans see also :
GetSaveAsFilename Method
Open Method

Dans Apply to
Application Object

Voilà Fréderic, en fait en pressant F1 depuis VBE alors que le mot 3GetOpenFilename" est sélectionné, tu devrais avoir la même chose (en français) ou alors c'est que l'aide VBA n'est pas installée sur ta machine !

Bonne Soirée
@+Thierry
 
B

Baroude

Guest
Après mes 15 ans d'anglais voici la traduction de @+Thierry :)

Affiche la boîte de dialogue standard Ouvrir et lit un nom de fichier tapé par l'utilisateur sans réellement ouvrir les fichiers.

Syntaxe

expression.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)

expression Obligatoire. Expression qui renvoie un objet Application.

FileFilter Argument de type Variant facultatif. Chaîne spécifiant les critères de filtrage des fichiers.

Cette chaîne est constituée de paires de chaînes de caractères représentant le filtre de fichier suivies de la spécification de filtre de fichier à caractère générique de MS-DOS, dont chaque partie et chaque paire est séparée par une virgule. Chaque paire distincte est contenue dans la liste déroulante Type de fichier. Par exemple, la chaîne suivante spécifie deux filtres de fichiers (fichiers texte et macros complémentaires) : « Fichiers texte (*.txt),*.txt,Macros complémentaires (*.xla),*.xla ».

Pour utiliser les expressions multiples à caractère générique de MS-DOS pour un seul type de filtre de fichier, séparez les expressions à caractères génériques par des points-virgules ; par exemple, « Fichiers Visual Basic (*.bas; *.txt),*.bas;*.txt ».

Cet argument devient par défaut « Tous les fichiers (*.*),*.* » s'il n'a pas été spécifié.

FilterIndex Argument de type Variant facultatif. Spécifie les numéros d'index des critères de filtrage de fichier par défaut, de 1 au nombre de filtres spécifiés dans FileFilter. Le premier filtre de fichier est utilisé si l'argument n'a pas été spécifié ou s'il est plus grand que le nombre de filtres présents.

Title Argument de type Variant facultatif. Spécifie le titre de la boîte de dialogue. Si cet argument n'a pas été spécifié, le titre est « Ouvrir ».

ButtonText Argument de type Variant facultatif. Macintosh uniquement.

MultiSelect Argument de type Variant facultatif. Affectez lui la valeur True pour permettre la sélection de plusieurs noms de fichiers. Affectez lui la valeur False pour permettre la sélection d'un seul nom de fichier. La valeur par défaut est False.

Remarques

Cette méthode renvoie le nom du fichier sélectionné ou le nom tapé par l'utilisateur. Le nom renvoyé est susceptible d'inclure une spécification de chemin. Si MultiSelect a la valeur True, la valeur renvoyée est un tableau des noms de fichiers sélectionnés (même si un seul nom de fichier est sélectionné). Renvoie la valeur False si l'utilisateur annule la boîte de dialogue.

Cette méthode est susceptible de modifier le lecteur ou le dossier en cours.
 
F

frédéric

Guest
Merci pour votre aide.
J'ai effectivement trouvé l'aide sur cette fonction dans VBA.

J'en profite pour vous soumettre d'autres interrogations sur lesquelles je n'ai pas encore trouver de réponse par moi-même :

Est-il possible dans une macro Excel de :
1. Créer un nouveau répertoire sur son disque dur
2. copier / coller des fichiers (pas forcément Excel) d'un répertoire à un autre
3. lancer une application autre que Excel

Merci d'avance pour vos réponses, même partielles, sur ces points.

Frédéric
 
@

@+Thierry

Guest
Bonjour Fréderic, Baroude, Le Forum

Pour ta Question 1) "Créer un nouveau répertoire sur son disque dur"

C'est la Statement MkDir qui peut te permettre de créer un répertoire.
Dans cette démo Lien supprimé tu as un exemple concrèt d'utilisation.



Pour ta Question 2) "Copier / Coller des fichiers (pas forcément Excel) d'un répertoire à un autre"

Cà par contre je n'ai jamais fait... Surtout si ce n'est pas des fichiers Excel Mais un tour rapide dans l'aide me permet de rencontrer CopyFile Method !!!

Exemple :
FileSystemObject.CopyFile "c:\mydocuments\letters\*.doc", "c:\tempfoldr

il faut au préalable créer donc un Object (Voir Aide à "File Object")



Pour ta Question 3) "lancer une application autre que Excel"

Là on est plus dans le sujet des manipulations de fichier, et je te ferais remarquer qu'il est préférable de ne pas mélanger les sujets dans les fils de discussions... Voir article 2 c) de notre Charte du Forum XLD

Ceci dit c'est Shell Function qui permettra de régler ce point trois.


Bonne Journée
@+Thierry
 
F

frédéric

Guest
Merci à nouveau,
Je vais explorer ces solutions, ton aide me permet un gain de temps non négligeable.
Désolé d'avoir mélangé les sujets, j'ai posé les questions telles qu'elles me venaient à l'esprit, je tacherai à l'avenir d'être plus précis.

Bonne journée.

Frédéric
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
313 060
Messages
2 094 924
Membres
106 127
dernier inscrit
AS PRECY