Il est de bon ton de se souhaiter la bonne année. Mais vous, et vous seul, pourrez faire en sorte que cette année soit bonne, meilleure que celle qui vient de s'écouler. Apprenez à ne compter que sur vous, car personne n'est plus qualifié que vous-même pour bâtir, réparer ou améliorer votre propre vie. Personne ne fera les choses à votre place. D'ailleurs, tout ce que les autres peuvent faire, c'est souhaiter que vous le fassiez. Et ne croyez pas que tout ceux qui vous entourent vous apporteront des solutions : certains font juste partie de vos problèmes. Transformez vos résolutions en actes, et dans douze mois, retournez-vous et souriez-vous fièrement : C'était long. C'était difficile. Mais ça y est : 2017 était une bonne année, merci Moi.

Recherche de fichiers

Il peut être fort pratique d'utiliser la méthode FileSearch pour trouver tel ou tel fichier, ou qu'il soit sur votre ordinateur. Comme par exemple trouver tous les fichiers qui contiennent le mot Budget dans leur nom, et qui se trouvent un peu partout sur votre PC.

Tout se passe dans Application.FileSearch.

Exemple :

Sub Recherche()
  With Application.FileSearch
D'abord réinitialiser les critères (Attention : Le LookIn ne se réinitialise pas comme ça)
    .NewSearch
Pour mettre à jour la liste des dossiers, au cas ou on viendrait de créer un nouveau dossier par VBA :
    .RefreshScopes
Dossier(s) de recherche : 
    .LookIn = "D:\atelier;C:\Toto"
Fichiers à rechercher (J'ai essayé plusieurs formes "a*.php;C*.*" mais ça ne marche pas: 
.FileName = "*.*" recherche tous les fichiers
.FileName = "C.php" recherche tous les fichiers qui contiennent c ou C quelque par dans leur nom, et qui se terminent par .php ou .PHP
    .Filename = "a*.php;C*.*"
Le type de fichiers qu'on recherche. Ici, tous, et de toute façon, on a déjà filtré avec .FileName. Mais on peut par exemple indiquer msoFileTypeExcelWorkbooks qui va extraire tous les fichiers Excelé (XLA, XLT, XLS, XLW)
    .FileType = msoFileTypeAllFiles
Tous les fichiers créés ou modifiés cette semaine :
    .LastModified = msoLastModifiedThisWeek
On va rechercher dans les sous dossiers d'atelier et Toto :
    .SearchSubFolders = True
C'est parti :
    .Execute
Une boucle traditionnelle pour parcourir les fichiers trouvés. FoundFiles(Ctr) n'a pas de propriétés. Par exemple, pas question d'avoir le nom du fichier sans le dossier, ou même sa date de création (en tout cas par la méthode FoundFiles)
    For Ctr = 1 To .FoundFiles.Count
      Cells(Ctr, 1) = .FoundFiles(Ctr)
    Next
  End With
End Sub

---