Choix de fichier
Le
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
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
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" 4d960350$0$5430$
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
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 :
Manu
"isabelle" in5496$b9v$