Icône de la ressource

Rechercher dans le code VBA de tous les classeurs d'un répertoire + Visualiser le code trouvé V2.4

  • Initiateur de la discussion Initiateur de la discussion crocrocro
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

crocrocro

XLDnaute Impliqué
crocrocro a soumis une nouvelle ressource:

Rechercher dans le code VBA de tous les classeurs d'un répertoire + Visualiser le code trouvé - Outil de recherche dans le code VBA de tous les classeurs d'un répertoire - Aperçu du Code Trouvé

La fonction Rechercher de l’explorateur Windows, même avec l’Option Avancée Contenu du Fichier ne permet pas d’effectuer des recherches dans le code VBA des fichiers Excel.

Le fichier à télécharger permet :
  • D’effectuer des recherches dans le code VBA des fichiers Excel d'un répertoire et de ses sous-répertoires.
  • D’avoir un aperçu du code VBA issu de la recherche:
    • Uniquement les lignes trouvées
    • La Procédure...

En savoir plus sur cette ressource...
 
Pour les lignes ou apparaissent un mot as tu pensé à ajouter les lignes précédentes ou suivantes s'il y a des caractères de suite (le souligné)
 
Hello,
Le Sleep (pas Kangourou) dans le module de la barre de progression ne fonctionne pas pour une version 64 bits d'Excel, il faut mettre :
VB:
 Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
Ce code marche en 64 bits et 32 bits pour un VBA 7
Ami calmant, J.P
 
Hello,
Le Sleep (pas Kangourou) dans le module de la barre de progression ne fonctionne pas pour une version 64 bits d'Excel, il faut mettre :
VB:
 Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
Ce code marche en 64 bits et 32 bits pour un VBA 7
Ami calmant, J.P
JP très drôle
 
Hello,
Le Sleep (pas Kangourou) dans le module de la barre de progression ne fonctionne pas pour une version 64 bits d'Excel, il faut mettre :
VB:
 Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
Ce code marche en 64 bits et 32 bits pour un VBA 7
Ami calmant, J.P
Bonjour JP, et merci pour ton retour
effectivement, il faut modifier le code du USerForm
M
VB:
Option Explicit

#If VBA7 Then
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

Pour les lignes ou apparaissent un mot as tu pensé à ajouter les lignes précédentes ou suivantes s'il y a des caractères de suite (le souligné)
Bonjour scraper,
je suppose que tu veux parler de l'aperçu du contenu avec l'option "Uniquement les lignes trouvées".
Non, mon code ne le gère pas, au moins pour le moment. 🙁
Il faut cocher l'option "Le Code de la Procédure".
 
Une nouvelle version V2 est disponible. Son contenu :
  • Ajout pour la Recherche d'un filtre sur le Type de Composant :
    • Classeur ou Feuille
    • Module Standard
    • Module de Classe
  • Modifications mineures
 
Une nouvelle version V2.1 est disponible. Son contenu :
  • Ajout de l'Option de Recherche sur la Description des Procédures
  • Correction d'une erreur sur la recherche avec l'option ET
  • Modifications de présentation
A l'attention des personnes qui téléchargeraient mon fichier :
J'aimerais avoir un retour sur les temps d'exécution du traitement de Recherche dans les conditions suivantes :
- Rechercher dans tout le code
- le texte (unique) recherché doit être inexistant (par exemple jeudi32mars)
- le nombre de fichiers traités doit être assez important (au minimum 20, 100 c'est bien)
- ne pas effectuer de traitement en parallèle
Avant de lancer l'exécution, mettre la Constante MODE_DEBUG du module Module_ChercherVBA à True
-> Les informations d'exécution sont déversées dans la fenêtre d'exécution (Debug.Print)

======================================================================
--- Recherche dans Tout le Code ---

Durée du traitement : 25 secondes
Nombre de Fichiers : 9
Nombre de Lignes de Code : 4123
Nombre de Procédures : 167
Nombre de boucles : 36
--------------------
Informations Système
--------------------
Processeur : Intel(R) Core(TM) i3-5005U CPU @ 2.00GHz
Mémoire RAM : 4 Go


Merci de les transmettre en réponse à cette discussion
 
Bonsoir. J’ai téléchargé, ce n'est peut être pas la dernière version en ligne. Notamment pour x64 dans le formulaire et quelques bugs dus à la protection des feuilles qui après un Unprotect dans les proc concernées fonctionnent.
Sympa, à suivre
 
terme recherché "function"
======================================================================
--- Recherche dans Tout le Code ---
Durée du traitement : 407 secondes
Nombre de Fichiers : 214
Nombre de Lignes de Code : 594847
Nombre de Procédures : 15799
Nombre de boucles : 3897

--------------------
Informations Système
--------------------
Processeur : Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz
Mémoire RAM : 8 Go
======================================================================

1 fichier en erreur code 50289
Impossible d'effectuer cette opération tant que le projet est protégé.

======================================================================
Par contre dans l'onglet "Liste Procédures", les liens ne sont pas valides et les noms de fichiers mentionés ne se retrouvent pas dans l'onglet "Rechercher Code VBA". Il y a une confusion de répertoire quelque part.
 
Dernière édition:
Bonjour @jclaborde, et merci pour le retour.
je pense que vous avez téléchargé la dernière version (V2_1) puisque vous avez apparemment récupéré les infos système du Debug.Print.
Par contre dans l'onglet "Liste Procédures", les liens ne sont pas valides
Chez moi, ils fonctionnent. Avez-vous regardé quelle était l'adresse du lien hypertexte dans la cellule ?
les noms de fichiers mentionés ne se retrouvent pas dans l'onglet "Rechercher Code VBA"
C'est normal :
- le tableau de la feuille "Rechercher Code VBA" affiche tous les composants des fichiers du répertoire qui correspondent aux critères sélectionnés dans la feuille (bouton Lancer la Recherche)
- le tableau de la feuille "Liste Procédures" affiche toutes les procédures des composants des fichiers du répertoire indépendamment des critères sélectionnés dans la feuille "Rechercher Code VBA" (bouton Lister toutes les procédures ...)
Il n'y a pas de lien entre les 2 tableaux autres que le répertoire sélectionné.
et quelques bugs dus à la protection des feuilles qui après un Unprotect dans les proc concernées fonctionnent.
Concernant la protection des feuilles, j'ai ajouté la protection, sans doute à tort car elle apporte plus d'inconvénients que d'avantages, c'était pour éviter que l'on modifie les valeurs de certaines cellules, par exemple A2 (nommée Repertoire) qui est utilisée quand on lance la recherche.
Et, comme je l'indique dans les Contraintes "- éviter d’ouvrir l’éditeur VBE, de lancer le Débogueur.", source d'interruption du traitement en cours et donc de mauvais repositionnement des protect, unprotect.
Pour éviter cela, Public Const MODE_DEBUG = False.
Notamment pour x64 dans le formulaire
Je suppose qu'il s'agit d'un problème lié à Windows 32 / 64 bits. Vous pouvez en dire plus ?
 
réponse
Bonjour @jclaborde, et merci pour le retour.
je pense que vous avez téléchargé la dernière version (V2_1) puisque vous avez apparemment récupéré les infos système du Debug.Print.

Chez moi, ils fonctionnent. Avez-vous regardé quelle était l'adresse du lien hypertexte dans la cellule ?

C'est normal :
- le tableau de la feuille "Rechercher Code VBA" affiche tous les composants des fichiers du répertoire qui correspondent aux critères sélectionnés dans la feuille (bouton Lancer la Recherche)
- le tableau de la feuille "Liste Procédures" affiche toutes les procédures des composants des fichiers du répertoire indépendamment des critères sélectionnés dans la feuille "Rechercher Code VBA" (bouton Lister toutes les procédures ...)
Il n'y a pas de lien entre les 2 tableaux autres que le répertoire sélectionné.

Concernant la protection des feuilles, j'ai ajouté la protection, sans doute à tort car elle apporte plus d'inconvénients que d'avantages, c'était pour éviter que l'on modifie les valeurs de certaines cellules, par exemple A2 (nommée Repertoire) qui est utilisée quand on lance la recherche.
Et, comme je l'indique dans les Contraintes "- éviter d’ouvrir l’éditeur VBE, de lancer le Débogueur.", source d'interruption du traitement en cours et donc de mauvais repositionnement des protect, unprotect.
Pour éviter cela, Public Const MODE_DEBUG = False.

Je suppose qu'il s'agit d'un problème lié à Windows 32 / 64 bits. Vous pouvez en dire plus ?

Image1.jpg
 
Bonjour jclaborde,
je ne comprends pas :
je viens de télécharger le fichier, je n'ai aucun problème à l'ouverture.
Dans votre capture d'écran de la feuille Liste Procédures, en arrière-plan le tableau correspond à mon jeu d'essai !!!
Normalement à l'ouverture le tableau est vide. Le chemin du lien hypertexte semble être aussi celui de mon jeu d'essai !!!
Je n'ai pas d'explication.
Le nom du dernier fichier que j'ai mis à disposition est Rechercher Code VBA V02_1.xlsm.
Est-ce bien celui que vous avez téléchargé ?
Si ce n'est pas le cas, pouvez-vous refaire un téléchargement et faire de nouveaux tests ?
Merci d'avance.
 
Bonjour jclaborde,
je ne comprends pas :
je viens de télécharger le fichier, je n'ai aucun problème à l'ouverture.
Dans votre capture d'écran de la feuille Liste Procédures, en arrière-plan le tableau correspond à mon jeu d'essai !!!
Normalement à l'ouverture le tableau est vide. Le chemin du lien hypertexte semble être aussi celui de mon jeu d'essai !!!
Je n'ai pas d'explication.
Le nom du dernier fichier que j'ai mis à disposition est Rechercher Code VBA V02_1.xlsm.
Est-ce bien celui que vous avez téléchargé ?
Si ce n'est pas le cas, pouvez-vous refaire un téléchargement et faire de nouveaux tests ?
Merci d'avance.
merci, c'est bien Rechercher Code VBA V02_1.xlsm que j'ai téléchargé. je le reprendrai à l'occasion
 
Nouvelle version 2.4 disponible. Son contenu :
- Correction de 2 erreurs (initialisation du 1er tableau à l'ouverture du fichier, fenêtre barre de progression Windows 32 / 64 bits)
- Suppression des protections des feuilles
- Suppression de la fonction activée par le bouton "Lister toutes les procédures ..." qui affiche dans la feuille "Liste Procédures", le tableau de toutes les procédures du répertoire sélectionné. J'ai créé une nouvelle ressource qui la remplace et est plus complète : Index de vos Macros avec Mots-Clés
 
Dernière édition:
Nouvelle version 2.4 disponible. Son contenu :
- Correction de 2 erreurs (initialisation du 1er tableau à l'ouverture du fichier, fenêtre barre de progression Windows 32 / 64 bits)
- Suppression des protections des feuilles
- Suppression de la fonction activée par le bouton "Lister toutes les procédures ..." qui affiche dans la feuille "Liste Procédures", le tableau de toutes les procédures du répertoire sélectionné. J'ai créé une nouvelle ressource qui la remplace et est plus complète : Index de vos Macros avec Mots-Clés
Tout est ok maintenant
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour