bonjour
Il semblerait que la fonction FileSearch ne soit plus supportée dans Office2007, ce qui est bien dommage.
Le complément ci joint permet de remplacer la fonction FileSearch. Le classeur xla contient un module de classe ClasseFileSearch pour gérer la recherche de fichiers sur votre PC.
La procédure recherche des fichiers en fonction des critères spécifiés:
* Le répertoire
* Option pour rechercher dans les sous dossiers
* Option pour rechercher un type de fichier spécifique
* Option de tri
et renvoie le résultat dans un tableau :
* Le nom des fichiers
* Le chemin
* La taille des fichers (en octets)
* La date de création
* La date de dernière modification
* Le type de fichier
Installez la macro complémentaire dans le dossier qui leur ai réservé.
Les fichiers .xla Excel2007 sont généralement stockés dans le répertoire:
C:\Documents and Settings\NomUtilisateur\Application Data\Microsoft\AddIns
Ensuite, pour que le complément soit opérationnel à chaque ouverture de l'application:
Cliquez le bouton "Office".
Cliquez sur le bouton "Options Excel".
Sélectionnez le menu "Compléments".
Choisissez "Compléments Excel" dans le menu déroulant "Gérer" (en bas de la fenêtre).
Cliquez sur le bouton "Atteindre:"
La fenêtre qui s'affiche est identique aux versions antérieures d'Excel.
Cochez le complément "Classefilesearch".
Cliquez sur le bouton "OK" pour valider.
Désormais, lorsque vous souhaitez utilisez cette fonction de recherche, il suffit d'activer la référence:
Dans l'éditeur de macro
Menu Outils
Références
Cochez la ligne "ClFileSearch"
Cliquez sur le bouton OK pour valider.
Et vous pouvez utiliser une procédure de ce style:
Nota.
La procédure fonctionne aussi dans Excel2002 ... ;o)
Bon après midi
MichelXld
Il semblerait que la fonction FileSearch ne soit plus supportée dans Office2007, ce qui est bien dommage.
Le complément ci joint permet de remplacer la fonction FileSearch. Le classeur xla contient un module de classe ClasseFileSearch pour gérer la recherche de fichiers sur votre PC.
La procédure recherche des fichiers en fonction des critères spécifiés:
* Le répertoire
* Option pour rechercher dans les sous dossiers
* Option pour rechercher un type de fichier spécifique
* Option de tri
et renvoie le résultat dans un tableau :
* Le nom des fichiers
* Le chemin
* La taille des fichers (en octets)
* La date de création
* La date de dernière modification
* Le type de fichier
Installez la macro complémentaire dans le dossier qui leur ai réservé.
Les fichiers .xla Excel2007 sont généralement stockés dans le répertoire:
C:\Documents and Settings\NomUtilisateur\Application Data\Microsoft\AddIns
Ensuite, pour que le complément soit opérationnel à chaque ouverture de l'application:
Cliquez le bouton "Office".
Cliquez sur le bouton "Options Excel".
Sélectionnez le menu "Compléments".
Choisissez "Compléments Excel" dans le menu déroulant "Gérer" (en bas de la fenêtre).
Cliquez sur le bouton "Atteindre:"
La fenêtre qui s'affiche est identique aux versions antérieures d'Excel.
Cochez le complément "Classefilesearch".
Cliquez sur le bouton "OK" pour valider.
Désormais, lorsque vous souhaitez utilisez cette fonction de recherche, il suffit d'activer la référence:
Dans l'éditeur de macro
Menu Outils
Références
Cochez la ligne "ClFileSearch"
Cliquez sur le bouton OK pour valider.
Et vous pouvez utiliser une procédure de ce style:
Code:
Sub Test()
'Nécessite d'activer la référence ClFileSearch
'(Dans l'éditeur de macros: Menu Outils/Références)
Dim i As Long
Dim Recherche As ClFileSearch.ClasseFileSearch
Set Recherche = ClFileSearch.Nouvelle_Recherche
With Recherche
'Répertoire de recherche
.FolderPath = "C:\Documents and Settings\mimi\dossier\excel"
'Recherche dans les sous dossiers
.SubFolders = False
'Option de tri:
'(Sort_None, sort_Name, sort_Path, sort_Size, sort_DateCreated, sort_LastModify, sort_Type)
'Pas de tri si non spécifié
.SortBy = sort_Name
'Option pour rechercher un type de fichier
'(Renvoie tous les fichiers si non spécifié)
.Extension = "*.xls"
'Execute la recherche
.Execute
'Boucle sur le tableau pour afficher le résultat de la recherche
'(.FoundFilesCount renvoie le nombre de fichiers trouvés)
For i = 1 To .FoundFilesCount
Debug.Print .Files(i).strNom 'nom
Debug.Print .Files(i).strChemin 'chemin complet
Debug.Print .Files(i).lngTaille & " octets" 'taille
Debug.Print .Files(i).DateCreated 'date création fichier
Debug.Print .Files(i).DateLastModified 'date dernière modification
Debug.Print .Files(i).TypeFichier 'type de fichier
Debug.Print "---"
Next
End With
Set Recherche = Nothing
End Sub
Nota.
La procédure fonctionne aussi dans Excel2002 ... ;o)
Bon après midi
MichelXld
Pièces jointes
Dernière édition: