OVH Cloud OVH Cloud

Chemin inconnu

3 réponses
Avatar
STEN83
Bonsoir à tous,
Comment à l'aide d'une macro ouvrir un classeur sans en connaître le chemin ?

--
Le partage du savoir contribue à l'amélioration de la condition humaine!
Merci à tous

3 réponses

Avatar
michdenis
Bonjour Sten83,

Tu lances une recherche sur tous les disques locaux de ton ordinateurs,
Il ne faut pas être pressé !!!!!!!

Voici une procédure de Frédéric Sigonneau qui fait le boulot.

Sub TestRechercheTousDisquesLocaux()
Dim Coll As New Collection
Set Coll = CherchePartout("InscrireLeNomDuFichierRecherché.xls")
MsgBox Coll.Count & " fichier(s) trouvé(s)"
If Coll.Count > 0 Then MsgBox Coll(1)
End Sub

Function CherchePartout(nomFichier) As Collection
'cherche "nomFichier" sur l'ensemble des disques durs du système
'"nomFichier" est un nom de fichier sans son extension
'la fonction renvoie le ou les fichiers trouvés dans une collection
'(attention : ça peut être assez longuet...)
Dim fso, Lecteurs, Lecteur, Retour As New Collection
Dim Fichiers, Fichier, Dossier, Racine, SousDossiers

Set fso = CreateObject("Scripting.FileSystemObject")
Set Lecteurs = fso.drives

For Each Lecteur In Lecteurs
'examine les dusques durs locaux
If Lecteur.DriveType = 2 Then
ChercheFichier Lecteur.driveletter & ":", nomFichier, Retour
End If
Next
Set CherchePartout = Retour
End Function 'fs

Sub ChercheFichier(dossierDépart, nomFichier, Retour As Collection)
'renvoie dans la variable "retour" le chemin complet de "nomFichier"
'cherché dans "dossierDépart" (antislash final requis)
Dim fso, Fichiers, Fichier, Dossier, Racine, SousDossiers

Set fso = CreateObject("Scripting.FileSystemObject")
Set Racine = fso.GetFolder(dossierDépart)
Set Fichiers = Racine.Files
For Each Fichier In Fichiers
If UCase(fso.getbasename(Fichier.Path)) = UCase(nomFichier) Then
On Error Resume Next
Retour.Add Fichier.Path, Fichier.Path
On Error GoTo 0
End If
Next

Set SousDossiers = Racine.SubFolders
For Each Dossier In SousDossiers
ChercheFichier Dossier, nomFichier, Retour
Next

End Sub


Salutations!



"STEN83" a écrit dans le message de news:
Bonsoir à tous,
Comment à l'aide d'une macro ouvrir un classeur sans en connaître le chemin ?

--
Le partage du savoir contribue à l'amélioration de la condition humaine!
Merci à tous
Avatar
isabelle
bonjour STEN83,

fichier = Application.GetOpenFilename
Workbooks.Open fichier

isabelle

Bonsoir à tous,
Comment à l'aide d'une macro ouvrir un classeur sans en connaître le chemin ?



Avatar
Clément Marcotte
Bonjour,

Tu peux commencer avec cela pour retrouver le fichier et son chemin:

http://cjoint.com/?biuYsjY6fJ


"STEN83" a écrit dans le message de news:

Bonsoir à tous,
Comment à l'aide d'une macro ouvrir un classeur sans en connaître le
chemin ?

--
Le partage du savoir contribue à l'amélioration de la condition humaine!
Merci à tous