je reprends ce que j'ai posté il y a peu pour chercher excel.exe dans c:\, tu as juste à changer par le nom du fichier que tu souhaite trouver et dans quel dossier le chercher
'module de crenaud76 pour la fonction shellwait qui permet d'attendre la fin de l'execution avant de continuer la lecture du code Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Private Const STILL_ACTIVE = &H103 Private Const PROCESS_QUERY_INFORMATION = &H400 Public Sub ShellWait(ByVal JobToDo As String) Dim hProcess As Long, RetVal As Long hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, Shell(JobToDo, vbMinimizedNoFocus)) Do GetExitCodeProcess hProcess, RetVal DoEvents Sleep 100 Loop While RetVal = STILL_ACTIVE End Sub Private Sub main() 'A initialisation et variables Dim textline, objet, objetfichier, fichiersource, repertoire fichiersource = "c:\test.txt" repertoire = "c:\" fichieratrouver = "excel.exe" 'B éxécution de la commande DOS qui écrira tous les fichiers d'un dossier et de ces sous-dossiers dans un fichier source ShellWait "cmd.exe /c dir /A-D /S /O:N /B /L " & repertoire & " > " & fichiersource 'execute commande DOS et stop la suite du programme tant que la commande DOS n'est pas terminée" 'C module de récupération du chemin de "excel.exe" Open fichiersource For Input As #1 ' Ouvre le fichier source. Do While Not EOF(1) ' Effectue la boucle jusqu'à la fin du fichier source. Line Input #1, textline ' Lit la ligne dans la variable. If Left(StrReverse(textline), Len(fichieratrouver)) = StrReverse(fichieratrouver) Then 'si la fin de la ligne est bien fichieratrouver alors MsgBox textline End If Loop 'relance la boucle des lignes Close #1 ' Ferme le fichier. 'D module d'effacement du fichier source Set objet = CreateObject("Scripting.FileSystemObject") ' crée un objet Set objetfichier = objet.getfile(fichiersource) 'l'objet devient le fichier source objetfichier.Delete True 'efface et force la suppression du fichier source End Sub
en esperant que ca t'aide un peu bonne continuation
|