rambc
Messages postés224Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention29 mars 2009 7 nov. 2004 à 20:17
Merci,
mais je veux tester une présence sur tout le disque dur sans connaître le dossier où se trouve le fichier (peut-être as-tu la solution ?). Mais merci de l'info, cela peut toujours servir.
rambc
Messages postés224Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention29 mars 2009 8 nov. 2004 à 18:15
Voilà la réponse (et merci à Thierry).
On cherche à tester si CheminDOuverture est un bon chemin d'accès à un fichier "NomDeLogiciel.exe". Si ce n'est pas le cas, on essaye de voir si le fichier n'est pas dans un autre dossier, et si tel est le cas on trouve le nouveau chemin d'accès.
sub ramTROUVER()
Dim I,N as Long
Dim NomFichierExe, CheminDOuverture as String
If Dir(CheminDOuverture) = "" Then
' On n'a pas le bon chemin d'accès.
I = InStrRev(CheminDOuverture, "")
NomFichierExe = Mid(CheminDOuverture, I + 1, Len(CheminDOuverture) - I)
' On retrouve "TrucMuche.exe"
CheminDOuverture = ""
With Application.FileSearch
.NewSearch
.LookIn = "C:"
.SearchSubFolders = True
.MatchTextExactly = False
.FileName = NomFichierExe
.FileType = msoFileTypeAllFiles
End With
With Application.FileSearch
If .Execute() > 0 Then
I = 1
N = .FoundFiles.Count
Do While I <= N
' On teste la présence d'un bon chemin.
If Dir(.FoundFiles(I)) <> "" Then
' On a trouvé le nouveau chemin.
CheminDOuverture = .FoundFiles(I)
I = N + 1
End If
I = I + 1
Loop
End If
End With
End If
If CheminDOuverture ="" Then
' Le fichier n'est pas présent.
Else
' Le fichier est présent et son
' chemin d'accès est CheminDOuverture .
End If