Macro & sélection de dossier

Y compris Power BI, Power Query et toute autre question en lien avec Excel
s
slayes
Nouveau venu
Nouveau venu
Messages : 9
Inscrit le : 22 avril 2007

Message par slayes » 23 avril 2007, 20:20

Bonjour à tous,

Dans mon fichier je travaille avec 2 feuilles :
- 1ere feuille : info visuel + bouton pour lancer une macro
- 2eme feuille : paramètres avec emplacement de certain fichier ( ex : A1=c:\test\ )

Il se peux que sur le PC de l'utilisateur, les fichiers ne se trouve pas au même endroit ( ex : c:\pastest\ )

Dans ce cas la, il y aura une erreur 76 de générer ( Chemin d'accès introuvable ). Et je voudrais pouvoir ouvrir une fenêtre qui demandera de sélectionner un dossier.
Tout ce que j'ai trouvé c'est "Application.Dialogs(xlDialogOpen).Show", mais cela oblige à selectionner un fichier dans le dossier.


Quelqu'un connaitrait il un moyen de pouvoir sélectionner un dossier et récupérer le chemin d'accès ?
A
Amadéus
Modérateur
Modérateur
Messages : 17'763
Appréciations reçues : 76
Inscrit le : 7 mai 2006
Version d'Excel : Office Excel 2003 FR et 2013FR

Message par Amadéus » 23 avril 2007, 22:29

Bonsoir

Sans le chemin d'accès, cela semble possible si j'en crois ce qui est écrit sur ce site pour chercher un fichier sur tout le disque dur.

http://www.presence-pc.com/forum/ppc/Pr ... 1441-1.htm

Maintenant, je suis bien incapable d'y comprendre quelque chose..

Cordialement,

Amadéus
-
Mytå
Appréciation reçue : 1

Message par Mytå » 24 avril 2007, 02:45

Salut Slayes, Amadéus et le forum

Une macro qui recherche le fichier si pas trouvé dans le répertoire.
Option Explicit
Option Compare Text

Sub Ouvrir_Classeur()

Dim wkb As Workbook
Dim repertoire As String
Dim fichier As String
Dim chemin As String
Dim Nbre As Byte

On Error GoTo Erreur

repertoire = "C:\"
fichier = "Couleur.xls"
chemin = repertoire & fichier

Set wkb = Application.Workbooks.Open(fichier)
' Set wkb = Nothing
Exit Sub

Recherche:
' Recherche du fichier
With Application.FileSearch
  .NewSearch
  .LookIn = "C:\"
  .FileType = msoFileTypeExcelWorkbooks
  .Filename = fichier
  .SearchSubFolders = True
  .Execute
  
    For Nbre = 1 To .FoundFiles.Count
      If Right(.FoundFiles(Nbre), Len(fichier) + 1) = "\" & fichier Then
        Set wkb = Application.Workbooks.Open(.FoundFiles(Nbre))
        ' Set wkb = Nothing
        Exit Sub
      End If
    Next Nbre
      
End With

Exit Sub

Erreur:

If Err = 1004 Then ' fichier introuvable
MsgBox "Le fichier " & fichier & " n'existe pas dans le dossier " _
& vbCrLf & repertoire & vbCrLf & "Une recherche va être éffectuée"
Resume Recherche
End If

End Sub
Mytå
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message