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 :

[VBA] Ouverture classeur sans activer les macros


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 113
    Points : 61
    Points
    61
    Par défaut [VBA] Ouverture classeur sans activer les macros
    Bonjour,

    Je souhaiterai ouvrir un classeur excel à partir d'une macro d'un autre classeur excel. J'ai juste une petite requete, je ne veux pas que les programmes VBA et Macros s'exécutent à l'ouverture !!!

    Merci d'avance de votre aide.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Tu placeces cette ligne en tête de la macro Workbook_Open dans ThisWorkbook
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.EnableEvents = False
    A+

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 113
    Points : 61
    Points
    61
    Par défaut
    Merci pour l'info, mais en fait c'est pas tout à fait ce que je veux faire !

    Je vais m'expliquer plus clairement.

    J'ai créé une macor dans un classeur, qui ouvre des classeurs (dans une boucle) afin d'effectuer un traitement sur les données de chacun d'eux.
    les classeurs que je souhaite ouvrir sont nombreux. J'aimerai donc éviter d'aller modifier le code de chacun d'eux afin de pouvoir les ouvrir par programme. De plus cette ouverture sans tenir compte des macros devra etre juste temporaire pendant mon traitement. Un peu comme quand on choisi "désactiver les macros' à l'ouverture d'un classeur.

    Est-ce possible ?

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Bonjour

    En complément à la réponse de Ouskel'n'or.

    Il y a deux manières de lancer une macro au démarrage d'un classeur.
    1. l'évènement sur ouverture du classeur, contrôlé par du code placé dans le module appelé habituellement ThisWorkbook
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Workbook_Open()
        MsgBox "Bonjour Thisworkbook"
    End Sub
    2. Une macro auto_open placée dans un module standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Sub auto_open()
        MsgBox "Bonjour auto_open"
    End Sub
    Le code qui gère l'évènement d'ouverture du classeur est toujours exécuté, sauf désactivation des macros...

    La macro Auto_Open n'est pas exécutée lorsque le classeur qui la contient est ouvert par VBA...

    [EDIT] xc78370:
    Ta réponse a croisé mon message...
    Mais si tu fais ce que Ouskel'n'or te dit, tu résous ton problème. Place le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    application.enableevents = false
    dans le classeur appelant avant la ligne de code qui ouvre le classeur appelé[/B]
    [/EDIT]

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 113
    Points : 61
    Points
    61
    Par défaut
    En fait j'ai un 'Stop' dans l'événement Workbook_Open de chacun de mes classeurs à ouvrir. Cela me gene car je souhaite effectuer mon traitement de maniere autonome. Cependant ce 'Stop' est utile dans le fonctionnement 'normal' du classeur. Je ne peux pas l'enlever (de plus j'ai presque 200 classeurs à traiter, je me vois mal aller dans le code pour supprimer le 'STOP' 200 fois, effectuer mon traitement et remettre 200 fois le 'STOP' ...)

    Le code qui gère l'évènement d'ouverture du classeur est toujours exécuté, sauf désactivation des macros...
    La désactivation des macros dont tu parles est bien : Application.EnableEvents = False

    Si c'est le cas, y a t-il moyen (ca me paraitrait bizarre) de désactiver les macro d'un classeur dsans ouvrir ce classeur ???

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 113
    Points : 61
    Points
    61
    Par défaut
    Désolé...

    Ma réponse à ta réponse à croisée la modif de ta réponse à ma premiere réponse ...

    Je ne l'avais aps compris comme ca ! Je vais donc tenter ce qu'Ouskel'n'or a dit.

    Merci bien !

  7. #7
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par xc78370 Voir le message
    La désactivation des macros dont tu parles est bien : Application.EnableEvents = False

    Si c'est le cas, y a t-il moyen (ca me paraitrait bizarre) de désactiver les macro d'un classeur dsans ouvrir ce classeur ???
    Non, la désactivation dont je parle dans ce cas-là dépend du niveau de sécurité.

    Relis ce que Ouskel'n'or et moi te disons. et essaie la solution proposée!

    Dans un classeur, tu as un code qui ouvre un autre classeur. Juste avant cette ligne de code, donc dans le classeur appelant, tu désactives la gestion des évènements... et donc, l'évènement Open du classeur que tu vas ouvrir n'est plus géré...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    application.enableevents = false
    workbooks.open "monclasseur.xls"
    ...
    application.enableevents = true
    Ne pas oublier la dernière ligne du code que je te donne, c'est important...

    Essaie et tu verras que le stop du classeur ouvert par la macro n'est plus actif...

  8. #8
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 113
    Points : 61
    Points
    61
    Par défaut
    Nous avons eu un peu de mal à communiquer, mais finalement, nous y sommes arrivés...

    J'ai donc appliqué le 'EnableEvents' avec succès, mon probleme est résolu !

    Merci beaucoup à vous deux !

    PS : Moi aussi j'ai lu Eckhart Tolle et son fameux "Le pouvoir du moment présent" et je l'ai trouvé assez réaliste sur beaucoup de points !!!

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

Discussions similaires

  1. [XL-2003] Ouvrir par macro un document sans activer les macros de ce dernier
    Par JM741 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/08/2012, 15h10
  2. [XL-2003] ouverture des fichiers sans confirmer activer les macros
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/11/2009, 15h52
  3. VBA : ouvrir un fichier sans activer les macros
    Par ShAk44 dans le forum Excel
    Réponses: 3
    Dernier message: 02/07/2007, 12h56
  4. [VBA-E]Executer fonction VBA sur Excel sans activer la macro
    Par marie10 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 19/01/2006, 14h34
  5. [VBA-E] ouvrir un fichier .xls sans executer les macro
    Par lae_t2 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/01/2003, 17h07

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