Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Choix de fichier

4 réponses
Avatar
Manu
Bonsoir,

J'ai dans un dossier C:\Rapport des fichiers qui se nomment ainsi :
Rapport 01-2011.xls
Rapport 02-2011.xls
Rapport 03-2011.xls
etc....

Est t'il possible dans une macro qu'il me fasse choisir celui que je veux
ouvrir soit 01-2011 ou 02-2011 ...etc.. afin que ma procedure puisse
continuer avec le fichier que j'aurais choisis.

Merci

Manu

4 réponses

Avatar
Jacky
Bonsoir,

En adaptant le chemin exact
Ceci peut-être
'-----------------
Sub jj()
ChDrive "c:"
ChDir "c:Rapport" ' a adapter
fichier = Application.GetOpenFilename("(*.xls), *.xls")
If fichier = False Then Exit Sub
MsgBox "Ouvrir " & fichier '***supprimer après text
'Workbooks.Open Filename:=fichier '** Valider après test
' Suite de la macro
'--------
'--------
End Sub

'----------------------

--
Salutations
JJ


"Manu" a écrit dans le message de news:
4d960350$0$5430$

Bonsoir,

J'ai dans un dossier C:Rapport des fichiers qui se nomment ainsi :
Rapport 01-2011.xls
Rapport 02-2011.xls
Rapport 03-2011.xls
etc....

Est t'il possible dans une macro qu'il me fasse choisir celui que je veux ouvrir soit 01-2011 ou 02-2011
...etc.. afin que ma procedure puisse continuer avec le fichier que j'aurais choisis.

Merci

Manu

Avatar
MichD
Bonjour,

Copie ce qui suit dans un module standard et tu
adaptes la valeur de la variable CheminEtTypeFichier au besoin.


'------------------------------------------
Sub test()
Dim CheminEtTypeFichier As String, Fichier As String

'Le chemin et le début du nom du classeur
CheminEtTypeFichier = "C:*2011.xls*"

Fichier = BrowseFile(CheminEtTypeFichier)
If Fichier = "" Then
MsgBox "Aucune sélection a été effectuée."
Exit Sub
Else
MsgBox "Nom du fichier sélectionné : " & Fichier
End If
'la suite de ta macro
End Sub

'------------------------------------------
Function BrowseFile(CheminEtTypeFichier) As String
With Application.FileDialog(msoFileDialogFilePicker)
'Définit un titre pour la boîte de dialogue
.Title = "Choisir le fichier BASE DE DONNÉES EXCEL"
'Empêcher la multi-sélection
.AllowMultiSelect = False
'Répertoire par défaut suivi du type de fichier par défaut
.InitialFileName = CheminEtTypeFichier
'Efface les filtres existants.
.Filters.Clear
'Définit une liste de filtres pour le champ "Type de fichiers".
.Filters.Add "Classeurs Excel", "*.xls; *.xlsx; *.xlsm"
'Définit le filtre qui s'affiche par
'défaut dans le champ "Type de fichiers "."
.FilterIndex = 1
'Indique le type d'affichage dans la boîte de dialogue
'(exemple visualisation des propriétés)
.InitialView = msoFileDialogViewProperties
'Affiche la boîte de dialogue
.Show
If .SelectedItems.Count > 0 Then
BrowseFile = .SelectedItems(1)
Else
BrowseFile = ""
End If
End With
End Function
'-------------------------------------------





MichD
--------------------------------------------
"Manu" a écrit dans le message de groupe de discussion : 4d960350$0$5430$


Bonsoir,

J'ai dans un dossier C:Rapport des fichiers qui se nomment ainsi :
Rapport 01-2011.xls
Rapport 02-2011.xls
Rapport 03-2011.xls
etc....

Est t'il possible dans une macro qu'il me fasse choisir celui que je veux
ouvrir soit 01-2011 ou 02-2011 ...etc.. afin que ma procedure puisse
continuer avec le fichier que j'aurais choisis.

Merci

Manu
Avatar
isabelle
bonjour Manu,

Sub test()
Fichier = ChoixFichier("C:Rapport")
If Fichier = Empty Then
Exit Sub
Else
MsgBox Fichier
End If
End Sub

Function ChoixFichier(chemin As String)
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.Filters.Clear
.Filters.Add "Excel", "*.xls", 1
.InitialFileName = chemin & "*.xls"
.AllowMultiSelect = False 'empecher la selection multiple
.Show 'afficher la boite de dialogue
On Error Resume Next 'au cas ou aucun Fichier n'est sélectionner
ChoixFichier = .SelectedItems(1)
Err.Clear
End With
End Function

isabelle
------------------------------------------------------------------

Le 2011-04-01 12:54, Manu a écrit :
Bonsoir,

J'ai dans un dossier C:Rapport des fichiers qui se nomment ainsi :
Rapport 01-2011.xls
Rapport 02-2011.xls
Rapport 03-2011.xls
etc....

Est t'il possible dans une macro qu'il me fasse choisir celui que je veux
ouvrir soit 01-2011 ou 02-2011 ...etc.. afin que ma procedure puisse
continuer avec le fichier que j'aurais choisis.

Merci

Manu



Avatar
MANU
Merci à vous 3, c'est exactement ce qu'il me faut

Manu

"isabelle" a écrit dans le message de news:
in5496$b9v$
bonjour Manu,

Sub test()
Fichier = ChoixFichier("C:Rapport")
If Fichier = Empty Then
Exit Sub
Else
MsgBox Fichier
End If
End Sub

Function ChoixFichier(chemin As String)
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.Filters.Clear
.Filters.Add "Excel", "*.xls", 1
.InitialFileName = chemin & "*.xls"
.AllowMultiSelect = False 'empecher la selection multiple
.Show 'afficher la boite de dialogue
On Error Resume Next 'au cas ou aucun Fichier n'est sélectionner
ChoixFichier = .SelectedItems(1)
Err.Clear
End With
End Function

isabelle
------------------------------------------------------------------

Le 2011-04-01 12:54, Manu a écrit :
Bonsoir,

J'ai dans un dossier C:Rapport des fichiers qui se nomment ainsi :
Rapport 01-2011.xls
Rapport 02-2011.xls
Rapport 03-2011.xls
etc....

Est t'il possible dans une macro qu'il me fasse choisir celui que je veux
ouvrir soit 01-2011 ou 02-2011 ...etc.. afin que ma procedure puisse
continuer avec le fichier que j'aurais choisis.

Merci

Manu