Trouver un fichier VBA Excel
Résolu/Fermé
2pax.cruz
-
5 juil. 2010 à 12:49
michel_m Messages postés 16596 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 6 juin 2023 - 5 juil. 2010 à 16:27
michel_m Messages postés 16596 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 6 juin 2023 - 5 juil. 2010 à 16:27
A voir également:
- Trouver un fichier VBA Excel
- Fichier rar - Guide
- Liste déroulante excel - Guide
- Formule excel - Guide
- Fichier host - Guide
- Fichier iso - Guide
4 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 715
5 juil. 2010 à 13:08
5 juil. 2010 à 13:08
Salut,
Tu peux adapter la fonction SelectionFichier() trouvée dans cette astuce, comme ceci :
Tu peux adapter la fonction SelectionFichier() trouvée dans cette astuce, comme ceci :
Sub SelectionFichier() Dim nomfich As String, i As Integer nomfich = Application.GetOpenFilename(FileFilter:="(*.*),*.*" _ , Title:="Sélectionnez le fichier à convertir") If nomfich = "Faux" Then 'pas de sélection faite Exit Sub End If For i = Len(nomfich) To 2 Step -1 If Mid(nomfich, i, 1) = "" Then Exit For Next i Chemin = Left(nomfich, i) Fichier = Mid(nomfich, i + 1) MsgBox Chemin & " " & Fichier End Sub
Ca fonctionne très bien!
Par contre, est-il possible de seulement récupérer le nom du fichier?
Car ça me donne l'emplacement entier. Par exemple : c:\blabla\fichier.doc
Or, je voudrais juste avoir le "fichier.doc"
Car le fichier est destiné à être envoyé et vu que les dossiers varient d'un pc à l'autre...
Par contre, est-il possible de seulement récupérer le nom du fichier?
Car ça me donne l'emplacement entier. Par exemple : c:\blabla\fichier.doc
Or, je voudrais juste avoir le "fichier.doc"
Car le fichier est destiné à être envoyé et vu que les dossiers varient d'un pc à l'autre...
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 715
5 juil. 2010 à 14:57
5 juil. 2010 à 14:57
Bien sur, en manipulant un peu le code et la chaîne de caractère tu peux faire :
Sub SelectionFichier() Dim nomfich As String, i As Integer nomfich = Application.GetOpenFilename(FileFilter:="(*.*),*.*" _ , Title:="Sélectionnez le fichier à convertir") If nomfich = "Faux" Then 'pas de sélection faite Exit Sub End If For i = Len(nomfich) To 2 Step -1 If Mid(nomfich, i, 1) = "\" Then Exit For Next i nomfich = Right(nomfich, Len(nomfich) - i) MsgBox nomfich End Sub
Un grand merci \o/
Vraiment!
Vraiment!
michel_m
Messages postés
16596
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
6 juin 2023
3 294
5 juil. 2010 à 15:30
5 juil. 2010 à 15:30
bonjour,
a la bourre mais
la boucle est inutile dans ce cas
attention quand m^me aux astuces ccm...
a la bourre mais
la boucle est inutile dans ce cas
Dim nomfich As String, i As Integer nomfich = Application.GetOpenFilename(FileFilter:="(*.*),*.*" _ , Title:="Sélectionnez le fichier à convertir") If nomfich = "Faux" Then 'pas de sélection faite Exit Sub End If tablo = Split(nomfich, "\") nomfich = tablo(UBound(tablo))
attention quand m^me aux astuces ccm...
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 715
5 juil. 2010 à 15:58
5 juil. 2010 à 15:58
Salut,
merci du coup de main. 'Fectivement, pas besoin de boucle et ta proposition est claire.
Par contre en ce qui concerne cette astuce, la provenance de Lermitte222 est un gage de qualité, en tout cas, il me semble.
A +
merci du coup de main. 'Fectivement, pas besoin de boucle et ta proposition est claire.
Par contre en ce qui concerne cette astuce, la provenance de Lermitte222 est un gage de qualité, en tout cas, il me semble.
A +
michel_m
Messages postés
16596
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
6 juin 2023
3 294
5 juil. 2010 à 16:27
5 juil. 2010 à 16:27
Et pour rester dans la m^me technique pour extraire le chemin seul (il y a d'autres manières mais...)
ma réflexion sur les astuces ne concernait pas la qualité de l'auteur mais un code pouvant être amélioré comme souvent dans cette rubrique et comme souvent dans ceux que je propose
Dim nomfich As String, chemin As String Dim tablo nomfich = Application.GetOpenFilename(FileFilter:="(*.*),*.*" _ , Title:="Sélectionnez le fichier à convertir") If nomfich = "Faux" Then 'pas de sélection faite Exit Sub End If tablo = Split(nomfich, "\") nomfich = tablo(UBound(tablo)) ReDim Preserve tablo(UBound(tablo) - 1) chemin = Join(tablo, "\")
ma réflexion sur les astuces ne concernait pas la qualité de l'auteur mais un code pouvant être amélioré comme souvent dans cette rubrique et comme souvent dans ceux que je propose