Emplacement grace à filesearch

titiborregan5

XLDnaute Accro
Bonjour à tous,
encore une fois j'ai un problème, et je pense que vous allez trouvé ça assez rapidement!! Moi pas par contre...:mad:

Je connais le nom d'un fichier .xls mais pas som emplacement.

Avec un
Code:
nom = "20 avril 2010 Résultats 1.xls"
With Application.FileSearch
    .LookIn = "c:"
    .Filename = nom
    .SearchSubFolders = True
    n = .Execute
    If n > 0 Then
    MsgBox "Trouvé", vbOKOnly, "ok"
    Else: MsgBox "pas trouvé", vbOKOnly, "ko"
    End If
    End With
j'arrive à savoir si le fichier existe dans mon disque c

Deux questions:
- comment connaitre l'emplacement du fichier?
-comment intégrer plusieurs disques durs (locaux et réseaux) dans ma recherche


Merci d'avance pour votre aide

Tibo
 

Pierrot93

XLDnaute Barbatruc
Re : Emplacement grace à filesearch

Bonjour Tibo

essaye peut être ainsi :

Code:
Sub test()
Dim nom As String, d As Variant, n
For Each d In Array("C", "D", "F")
nom = "20 avril 2010 Résultats 1.xls"
With Application.FileSearch
    .LookIn = d & ":"
    .Filename = nom
    .SearchSubFolders = True
    n = .Execute
    If n > 0 Then
        MsgBox "Trouvé", vbOKOnly, "ok"
        MsgBox .FoundFiles(1)
        Else: MsgBox "pas trouvé", vbOKOnly, "ko"
    End If
End With
Next d
End Sub

bonne soirée
@+
 

Nikless

XLDnaute Junior
Re : Emplacement grace à filesearch

Bonjour le Forum,

On peut aussi obtenir le chemin, sans le nom du fichier, de la maniere suivante :
Code:
Sub Chemin()
Dim s As String

s = ThisWorkbook.Path
MsgBox s

End Sub

[Je reconnais etre passe a cote du pb]

@+
 
Dernière édition:

titiborregan5

XLDnaute Accro
Re : Emplacement grace à filesearch

Bonjour Pierrot93 (un voisin surement), bonjour Nikless, le forum

en fait la recherche concerne un fichier qui n'est pas ouvert... donc .path ne marche pas. Du moins je ne sais pas le faire fonctionner dans ce cas là!!

En tous merci Pierrot pour ta solution, bien que je n'ai pas compris ta 2ème réponse! Elle veut dire que si on cherche le fichier "x.xls" dont l'emplacement est "c:\mes documents\test\x.xls" avec ta formule on aurait que "c:\mes documents\test\"??
A la limite ça ne me servirait pas trop je pense mais merci quand même en tous cas...

Bonne journée à tous

Tibo

Edit: en fait ça ne marche pas exactement comme je le souhaite!
Une fois qu'il a trouvé le fichier j'aimerai qu'il arrête de chercher, même dans les autres lecteurs... Je ne vois pas quoi changer pour y arriver!!
Merci d'avance

Tibo
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Emplacement grace à filesearch

Re,

pas vu ton édition... pour arrêter la recherche sur le premier fichier trouvé :

Code:
Option Explicit
Sub test()
Dim nom As String, d As Variant, n
For Each d In Array("C", "D", "F")
nom = "20 avril 2010 Résultats 1.xls"
With Application.FileSearch
    .LookIn = d & ":"
    .Filename = nom
    .SearchSubFolders = True
    n = .Execute
    If n > 0 Then
        MsgBox "Trouvé", vbOKOnly, "ok"
        MsgBox .FoundFiles(1)
        [B][COLOR="Blue"]Exit For[/COLOR][/B]
        Else: MsgBox "pas trouvé", vbOKOnly, "ko"
    End If
End With
Next d
End Sub

@+
 

Discussions similaires

Réponses
8
Affichages
508

Statistiques des forums

Discussions
312 364
Messages
2 087 624
Membres
103 624
dernier inscrit
PhilduMorvan