comment retrouver les fichiers Excel 2000 contenant des macro ou vba
Le
Alfred WALLACE

Bonjour à tous !
On me demande de rechercher
dans des repertoires, les fichiers en Excel 2000
qui contiennent des macro ou du code vba.
d'après vous, existe-t-il un moyen pour lancer
(par exemple) une recherche dans l'explorateur windows
en cherchant dans les fichiers quelque chose qui nous
indiquerait la présence de macros ou de code vba ?
il existe-t-il peut etre un utilitaire spécifique ? ou, peut-etre
meme un code vba pour tester la précence de macro ou vba dans
une liste de fichiers .
Merci de vos idées/suggestions !
José
On me demande de rechercher
dans des repertoires, les fichiers en Excel 2000
qui contiennent des macro ou du code vba.
d'après vous, existe-t-il un moyen pour lancer
(par exemple) une recherche dans l'explorateur windows
en cherchant dans les fichiers quelque chose qui nous
indiquerait la présence de macros ou de code vba ?
il existe-t-il peut etre un utilitaire spécifique ? ou, peut-etre
meme un code vba pour tester la précence de macro ou vba dans
une liste de fichiers .
Merci de vos idées/suggestions !
José
Ce code pour un dossier donné liste dans une boîte de dialogue les fichiers
Excel qui présentent un code VBA :
Chemin = "C:Chemin"
Fichier = Dir(Chemin & "*.xls")
Do While Fichier <> ""
Workbooks.Open (Chemin & Fichier)
For i = 1 To ActiveWorkbook.VBProject.VBComponents.Count
If ActiveWorkbook.VBProject.VBComponents(i).CodeModule.CountOfLines > 0 Then
Liste = Liste & Fichier & vbLf
Exit For
End If
Next
ActiveWorkbook.Close SaveChanges:úlse
Fichier = Dir
Loop
MsgBox ("Macro présente dans les fichiers:" & vbLf & Liste)
Actualises la ligne :
Chemin = "C:Chemin"
Du chemin du dossier à analyser
Celà devrait convenir
Dis moi !!!!!
merci beaucoup pour ton aide !
celà fonctionne, mais, maintenant, je souhaite
"améliorer" ton code, en effet :
1 - je souhaiterais que la boucle puisse parcourir les "sous
repertoires".
2 - je vois que tu concatenes dans une variable "liste" les résultats.
est-il possible d'avoir çà dans une colonne ? j'ai essayé [A:A] =
liste mais çà marche pas...
Merci encore pour ton aide.
José
On 21 jan, 10:24, FFO
> en cherchant dans les fichiers quelque chose qui nous
> indiquerait la présence de macros ou de code vba ?
Pour savoir si un fichier contient ou non des macros, tu peux utiliser
ce code (il passe en revue les propriétés des fichiers sans avoir besoin
de les ouvrir, dont une qui s'appelle 'HasMacros') :
http://frederic.sigonneau.free.fr/code/Fichiers/ProprietesClasseurFerme.txt
Pour explorer un dossier et des sous-dossiers :
http://frederic.sigonneau.free.fr/code/Fichiers/ListeDossiersSousDossiers.txt
(parmi beaucoup d'autres solutions).
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Alfred WALLACE a écrit :
désolé de ne pas avoir répondu avant, je trouve ta méthode tres
intéressante, et
je vais essayer de la mettre en oeuvre ce jour.
Cependant, dans tes 2 codes d'exemples, il y a la première ligne que
je en comprend pas (ni ne sais où la placer)
Attribute VB_Name = "ListeDossiersSousDossiers"
et
Attribute VB_Name = "ProprietesClasseurFerme"
Pourrais tu , stp, m'expliquer ce que c'est et comment on s'en sert ?
Merci
José
On 31 jan, 13:50, FS
Ces lignes sont des "marqueurs" ajoutés automatiquement par Excel
lorsqu'on exporte un module de code et supprimés lorsqu'on le ré-importe.
Si tu pratiques plutôt la politique du copier/coller tu peux les
supprimer sans problème.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Alfred WALLACE a écrit :
dans ce cas, je me jette dans la bataille !
je retour dans quelques heures !
Merci
José