IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Rechercher un mot dans le code VBA de plusieurs classeurs fermés ? [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 830
    Par défaut Rechercher un mot dans le code VBA de plusieurs classeurs fermés ?
    Bonjour.

    J'ai dans le code de plusieurs classeurs une constante dont la valeur est fausse et que je souhaiterai corriger.

    Je pose à tout hasard la question : est-ce possible de rechercher un mot dans le code VBA de plusieurs classeurs fermés, ouvrir le ou les classeurs qui contiennent le mot recherché ou à la limite les lister ?

    Merci d'avance pour vos réponses.

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    voici un autre sujet où il fallait comparer deux constantes dans deux projets différents

    http://www.developpez.net/forums/d15...e/#post8520378


    avec un peu d'adaptions, tu devrais obtenir ce que tu cherches :

    - si les constantes sont toutes dans un module qui porte le même nom, la fonction le fait déjà. Sinon, faire sauter ce ciblage pour parcourir tous les modules du projet
    - boucler sur les classeurs voulus (idéalement ils sont situés dans un même dossier)
    - ouvrir le classeur
    - chercher la constante
    - remplacer sa valeur (la partie après le "=")
    - fermer le classeur
    - passer au suivant

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Si tu dois vraiment modifier le code, il te faudrait passer par VBIDE, je pense...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 830
    Par défaut
    Bonsoir, bonjour (suivant le fuseau) et merci à vous.

    joe,
    Je me suis mal exprimé, en fait le principe consisterai à rechercher un mot dans le code VBA de plusieurs classeurs fermés, ouvrir ou à la limite lister le ou les classeurs qui contiennent le mot recherché.

    parmi,
    Pourrais-tu m'expliquer ce qu'est "VBIDE" ?

  5. #5
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Je ne comprend pas pourquoi tu veux lister les classeurs contenant la constante fausse... et donc qui est censée être remplacée ?

    Au pire, un remplacement + un listing des classeurs qui étaient impactés, j'aurais compris

    Et peut importe au final ce que tu souhaites faire, le lien que je t'ai proposé provient d'une discussion intitulée "Comment pointer sur une constante déclarée dans un module"

    Sauf erreur, ton problème appartient au même domaine, sauf qu'il est plus générique que la discussion : tu dois boucler sur plusieurs fichiers, éventuellement dans chaque module si tu ne connais pas le nom par avance. Tu es ensuite libre de réaliser l'action de ton choix, comme récupérer le nom du classeur par exemple.

    Ce type de procédures, c'est de la manipulation du Visual Basic Editor, pour répondre à la question que tu poses à parmi
    Un tutoriel à ce sujet : http://silkyroad.developpez.com/VBA/VisualBasicEditor/

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Citation Envoyé par modus57 Voir le message

    parmi,
    Pourrais-tu m'expliquer ce qu'est "VBIDE" ?
    Joe.levrai (salut) t'a donné un bon lien pour ce que j'expliquais...

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 830
    Par défaut
    Bonjour à vous.

    Je n'avais pas percuté que "VBIDE" c'est : Visual Basic Editor !

    Effectivement c'est un très bon tutoriel et une mine d'informations que je vais relire avec plus d'attention et dans lequel je devrai trouver une solution.

    J'ai consulté le lien concernant la discussion intitulée "Comment pointer sur une constante déclarée dans un module", en effet le code permet de vérifier si la constante existe dans un autre classeur.

    Maintenant je comprends mieux la marche à suivre.

    Je vais essayer de m'en sortir en construisant une procédure qui permettra de :
    - sélectionner le répertoire
    - boucler sur tous ses fichiers
    - ouvrir le fichier (éventuellement lire dans le fichier fermé : si c'est plus simple ?)
    - boucler dans chaque module (nom par connu par avance)
    - chercher le mot recherché
    - récupérer et lister dans une feuille le ou les noms des classeurs s'ils contiennent le mot recherché
    - fermer le fichier sans le sauvegarder

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Protéger le code vba de plusieurs classeurs Excel par mot de passe
    Par Thierry_67 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/03/2015, 00h43
  2. [Toutes versions] Protéger le code vba de plusieurs classeurs Excel par mot de passe
    Par BAPOULA dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 30/10/2014, 14h16
  3. Protéger le code vba de plusieurs classeurs Excel par mot de passe
    Par BAPOULA dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/10/2014, 11h34
  4. [XL-2003] Supprimer tous module et code VBA d'un classeur fermé
    Par grand_arnaud dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 20/09/2012, 17h26
  5. [VBA]Comment, dans le code VBA, hasher un mot de passe ?
    Par lord abortion dans le forum VBA Access
    Réponses: 6
    Dernier message: 18/04/2007, 16h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo