Rechercher toute les macros

brian76

Nouveau membre
Bonjour,

j'en appel a vous car je voudrais connaître un moyen de rechercher toute les macros qui se situe sur un même serveur, j'ai eu beau chercher je n'ai pas trouvé.
J'ai fais une recherche de tous les fichiers excel se trouvant sur le serveur il y en a 50000, je ne me vois pas tous les ouvrir un par un pour voir si il contiennent une macro.
Sil vous plait, aidez moi..
 

zeb

Modérateur
Salut,

Ben c'est pourtant ce qu'il va falloir faire !
Ou plus exactement ce qu'il va falloir faire faire par un programme.

Ce programme peut être une macro VBA ;)
 

brian76

Nouveau membre
Je ne connais rien en macro, ne pourrais tu pas m'aider a trouvé quelque chose qui puisse subvenir à mon problème ?
 

zeb

Modérateur
Je veux bien t'aider, et le ferai volontiers, pourvu que tu acceptes cet état des choses : ce forum est réservé à l'entraide entre développeurs. Si tu n'appartiens pas encore à ce monde, il te faudra au moins accepter d'y être considéré comme novice et non pas comme étranger. Certes, la différence est subtile.

Si les macros VBA/Excel ne sont pas ton fort, quel langage maîtrises-tu ?
Si "aucun" est la réponse, on tâchera de faire au plus simple. On commencera ton noviciat par le VBA/Excel ;)
 

brian76

Nouveau membre
"Aucun", je commence un bts en alternance en informatique, et je dois trouver toutes les macros qui il y a sur le serveur, car on change de serveur..
 

zeb

Modérateur
Bon, j'ai commencé à regarder ton truc.
C'est pas évident ! Tu peux être patient ?
 

brian76

Nouveau membre
oui, je retourne en entreprise, le 9 novembre si tu peux l'avoir pour là ce serait bien.

Merci, C'est gentil
 

zeb

Modérateur
Ah oui ? Il faut donc que je te le fasse pour toi et toi, tu te contentes de patienter. Et si ça convient, j'aurai un "Merci c'est gentil" !!!

Ben i'y en a des qui s'emmerdent pas, hein ! :pfff:

Bon, puisque j'ai un peu regardé, je vais te livrer quelques réflexions.
Parcourir les fichiers, c'est facile : demerden sie sich comme disent les teutons.

Je te conseille l'utilisation des méthodes Files et SubFolders de l'objet FileSystemObject.Folder de la référence Microsoft Scripting Runtime (scrrun.dll).

Pour ce qui est de savoir si tel fichier XLS contient une macro, c'est bien moins simple, et mal documenté. Alors voilà un ptit coup de pouce.

Le principe : ouvrir le fichier comme un classeur puis vérifier si des lignes de codes sont présentes dans au moins un des différents objets susceptibles d'en contenir. Penser ensuite à refermer le classeur.

Code:
Function ContientVBA(ByVal wb As Workbook) As Boolean
    Dim comp As VBComponent

    For Each comp In wb.VBProject.VBComponents
        If comp.CodeModule.CountOfLines > 0 Then
            ContientVBA = True
            Exit Function
        End If
    Next
    ContientVBA = False
End Function

L'objet VBComponent est défini dans la référence Microsoft Visual Basic Extensibility (VBE6EXT.OLB jusqu'à Excel 2003).
 

brian76

Nouveau membre
Merci, Je vais essayer ça demain au boulot, je te dirais si cela marche !

bon week end !! =)
 

brian76

Nouveau membre
Bonjour,

Excuse moi, si tu as le temps, peux tu m'expliquer en détail ce que je dois faire pour rechercher mes macros sil te plait..

Bonne journée, merci d'avance.
 

zeb

Modérateur
Salut,

Ben tu te fais une fonction en VB pour parcourir tous tes répertoires, dans chacun de ces répertoires, tu ouvres les classeurs qui s'y trouvent, et tu appliques la fonction ContientVBA() sur chacun d'eux. Cette fonction renvoie Vrai s'il y a du code VBA dans le classeur.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 850
Membres
1 586 373
Dernier membre
https://forum.tomshardwar
Partager cette page
Haut