Userform et répertoires du DD

dodineau

XLDnaute Occasionnel
Bonjour,
Je fais une macro qui va chercher un nom de fichier en A1
Si le fichier existe sur mon DD j'enregistre, sinon j'ouvre un userform qui me fait rechercher le fichier dans mes répertoires de DD.
Mon problème est de savoir comment faire le userform.

Merci pour votre aide.
A+
 

Creepy

XLDnaute Accro
Bonjour le Forum, Dodineau,

Plutôt que de demander où se trouve le fichier, fait une recherche avec la commande filesearch.

voila un exemple :

Code:
With Application.FileSearch 
    .NewSearch 
    .RefreshScopes 
    .LookIn = 'unRepertoireParticulier' 
    .Filename = 'toto*' 
    .FileType = msoFileTypeExcelWorkbooks 
    .LastModified = msoLastModifiedLastWeek 
    .SearchSubFolders = False 
     
    If .Execute() > 0 Then 
        For i = 1 To .FoundFiles.Count 
            MsgBox .FoundFiles(i) 
        Next i 
    Else 
        MsgBox 'File not found.' 
    End If 
  End With

A toi de l'adapter à tes besoins. Par exeprience l'utilisateur 'de base' ne sait pas forcement où se trouve le fichier, etc ...

Avec cette méthode tu es certain de le trouver ou pas et qu'il n'y aura pas d'erreur !

@+

Creepy
 

dodineau

XLDnaute Occasionnel
Merci pour cette réponse,
mais ce n'est pas tout à fait ce que je recherche.
Dans mon cas, l'utilisateur doit pouvoir chercher le chemin de son fichier pour enregistrer.
Dans ton exemple si le chmin n'est pas trouvé, le programme me l'indique et s'arrete.
Donc je voudrais ouvrir un userform avec une recherche dans le disque dur.

Merci.
A+
 
P

PsykotropyK

Guest
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Title = 'Choisissez votre répertoire à Scanner'
.Show
NomFichier = .SelectedItems(1)
End With

Avec .FileDialog, tu peux faire plusieur chose, il suffit de préciser entre parenthèse un de ces trucs :
msoFileDialogFilePicker Permet à l'utilisateur de sélectionner un fichier.
msoFileDialogFolderPicker Permet à l'utilisateur de sélectionner un dossier.
msoFileDialogOpen Permet à l'utilisateur d'ouvrir un fichier.
msoFileDialogSaveAs Permet à l'utilisateur d'enregistrer un fichier.