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 :

Activer les macros automatiquement


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de CristofMartins
    Homme Profil pro
    ICH-DEV
    Inscrit en
    Juillet 2012
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Suisse

    Informations professionnelles :
    Activité : ICH-DEV
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 140
    Par défaut Activer les macros automatiquement
    Bonsoir à tous et a toutes.

    Voici mon problème.

    J'ai crée une petite macro servant a faire une recherche sur une base de données. Le problème c'est que à chaque fois que je me déplace de poste de travail, je doit toujours activer les macros. Ma question serait : Il n'y aurait-il pas la possibilité de créer une macro qui le fasse automatiquement ou qui bloque se message et cette interdiction pour que la macro fonctionne?

    Merci d'avance

  2. #2
    Membre Expert
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Bonjour,
    Le blocage des macros existe pour protéger les PC de macros qui s'exécuteraient automatiquement et seraient malveillantes.
    Si on pouvait désactiver ce blocage par macro, ça ne servirait pas à grand chose :-)

  3. #3
    Membre confirmé Avatar de Excel_man
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Par défaut
    Bonjour,
    La seul chose que j'ai trouvé pour résoudre ce problème, c'est d'autoriser les macros dans certains répertoire (dans option/centre de gestion de la confidentialité/Paramètre du centre de gestion de la confidentialité).
    Tu clique sur emplacement approuvés puis sur ajouter et tu sélectionne le répertoire ou il y a ton fichier. Tu seras obligé de répéter l’opération sur chaque Pc mais ensuite tu n'entendras plus jamais de ta macro!

  4. #4
    Membre confirmé Avatar de CristofMartins
    Homme Profil pro
    ICH-DEV
    Inscrit en
    Juillet 2012
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Suisse

    Informations professionnelles :
    Activité : ICH-DEV
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 140
    Par défaut
    Citation Envoyé par tedo01 Voir le message
    Bonjour,
    Le blocage des macros existe pour protéger les PC de macros qui s'exécuteraient automatiquement et seraient malveillantes.
    Si on pouvait désactiver ce blocage par macro, ça ne servirait pas à grand chose :-)
    Bonjour,
    c'est vrai que si on pouvait le blocage, ça ne servirait pas à grand chose mais pour tant, " ex : powershell" on est sensé être que utilisateur et si on veut on peu passer en mode admin avec un simple ligne de code. Donc ma question serait un peu ça. S'il n'y aurais pas un truck comme ça.
    Mais d'après vos réponses et me recherches je vois qu'il n'y a vraiment pas grand chose.
    Merci quand même.

  5. #5
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Salut,
    Il y a aussi la signature numérique du code, une fois le certificat accepté, tu es tranquille sur toutes les macros signées avec ce code;

    dans le menu OFFICE de démarrer tu vas trouver "Digital Certificate for VBA Projects"
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  6. #6
    Membre confirmé Avatar de CristofMartins
    Homme Profil pro
    ICH-DEV
    Inscrit en
    Juillet 2012
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Suisse

    Informations professionnelles :
    Activité : ICH-DEV
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 140
    Par défaut
    Bonjour,
    Oui sauf que le problème c'est que quand je devrais me déplacer sur un autre ordinateur, ce problème va continuer.
    Bref,
    J'ai trouvé un autre solution pour ceux qui seraient intéressés.

    En créant tout simplement un script qui va dans les registres changer la sécurité de office.
    Ce script doit quand même être lancé avant qu'une application office soit ouverte.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Dim wsh, objXl
     
    'Pour s'assurer qu'excel n'est pas ouvert.
    On Error Resume Next
    Set objXl=GetObject(,"Excel.Application")
    If Not IsEmpty(objXl) Then
    Msgbox "Fermer excel pour exécuter ce scr1pt..."
    WScript.Quit
    End If
    Err.Clear
     
    'objet script
    Set wsh = WScript.CreateObject("WScript.Shell")
    Cle2003 = "HKCU\Software\Microsoft\Office\14.0\Excel\Security\"
     
    'Met la sécurité au plus bas niveau.
    wsh.RegWrite Cle2003 & "VBAWarnings", 1,"REG_DWORD"
     
    'Ouvre excel-classeur sans sécurité
    Retour=wsh.Run("C:\Users\admin\Desktop\Listes.xlsm", 3, False)
    Script.vbs

  7. #7
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par CristofMartins Voir le message
    'Ouvre excel-classeur sans sécurité
    Script.vbs
    c'est bien résumé, c'est comme si tu achetais une voiture avec ABS ERP etc... et que tu désactives tout.
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  8. #8
    Membre confirmé Avatar de CristofMartins
    Homme Profil pro
    ICH-DEV
    Inscrit en
    Juillet 2012
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Suisse

    Informations professionnelles :
    Activité : ICH-DEV
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 140
    Par défaut
    Re-Bonjour,
    Le script que je viens de publier, désactive oui tout mais il existe bien sur le même script mais dans le sens inverse. le script active la protection sur excel.
    C'est comme acheter une décapotable ou tu peux ouvrir le toit quand tu sors te promener et quand tu arrive dans le garage tu le ferme.

  9. #9
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    A non la décapotable c'est quand tu actives les macros lors de l'ouverture SI TU VEUX (avec Security à 2).

    Toi c'est j'ai un hardtop au fond de mon garage et peut être un jour je le remettrai !
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  10. #10
    Membre confirmé Avatar de CristofMartins
    Homme Profil pro
    ICH-DEV
    Inscrit en
    Juillet 2012
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Suisse

    Informations professionnelles :
    Activité : ICH-DEV
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 140
    Par défaut
    Non. Quand on veut bien faire les choses, on y arrive!
    Au cas ou, on peut savoir quand un classeur excel se ferme. Donc, si on veut bien faire les choses, on a qu'a arriver a ce moment la " lorsque le classeur se ferme" et on met la sécurité de nouveau à 2.
    N'essayez pas de compliquer les choses.

    C'est simple, facile et rien de dangereux.


    L'objectif principal de mon applic. c'est de la pouvoir partager à plusieurs personnes, personnes que ne savent même pas ce que c'est une formule excel, alors quand tu leur parle d'activer une macro, c'est la fin du monde. Donc pour ce genre de personnes on doit trouver les meilleurs solutions et dans la mienne je ne vois rien de dangereux.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Cela implique que tu sois administrateur du poste destinataire, non ?

    Dans certaines boites, les utilisateurs ne peuvent rien faire sur leur poste.

    Philippe

  12. #12
    Membre confirmé Avatar de CristofMartins
    Homme Profil pro
    ICH-DEV
    Inscrit en
    Juillet 2012
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Suisse

    Informations professionnelles :
    Activité : ICH-DEV
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 140
    Par défaut
    Bonjour,
    Bonne question.

    Il faudrait que je teste. C'est vrai que si j'y pense, j'ai juste testé cette méthode dans des postes ou je suis admin.

  13. #13
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par CristofMartins Voir le message
    N'essayez pas de compliquer les choses.
    Bjr, Dans ce cas je pense que c'est toi qui complique
    Citation Envoyé par CristofMartins Voir le message
    C'est simple, facile et rien de dangereux.
    C'est moins dangereux si tes postes ne sont pas reliés à l'Internet, Veux tu tester un fichier qui te fasse changer d'avis ?


    Citation Envoyé par CristofMartins Voir le message
    ..personnes que ne savent même pas ce que c'est une formule excel, alors quand tu leur parle d'activer une macro, c'est la fin du monde. Donc pour ce genre de personnes on doit trouver les meilleurs solutions et dans la mienne je ne vois rien de dangereux.
    Je comprends ton objectif, le semaine dernière je faisais un recensement des MACRO utilisées dans mon bureau, beaucoup se demandaient ce qu'était une macro, et d'autres mon indiqué que lorsqu'ils ont un message d'activation des Macros ils répondent systématiquement NON car c'est conseillé par le message.

    Maintenant ton devoir d'Apprenti Informaticien c'est de trouver la solution la plus sécuritaire et pratique, et si tu as EXCEL 2010 tu devrais vraiment utiliser la signature numérique qui est plus simple qu'avant ou comme te le disais Excel_man les emplacements approuvés que tu peux créer par un script aussi

    EXEMPLE : EMPLACEMENT_APPROUVE.reg
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Windows Registry Editor Version 5.00
     
    [HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Security\Trusted Locations\Location6]
    "Path"="\\\\SERVEUR\\GROUPES\\GSN\\"
    "AllowSubfolders"=dword:00000001
    "Description"=""
    "Date"="10/01/2013 11:16"
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  14. #14
    Membre confirmé Avatar de CristofMartins
    Homme Profil pro
    ICH-DEV
    Inscrit en
    Juillet 2012
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Suisse

    Informations professionnelles :
    Activité : ICH-DEV
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 140
    Par défaut
    Citation Envoyé par Oliv- Voir le message
    tu devrais vraiment utiliser la signature numérique qui est plus simple qu'avant ou comme te le disais Excel_man les emplacements approuvés que tu peux créer par un script aussi
    Voila la réponse que je voulais.
    Je sais très bien que ma solution est compliqué, mais c'étais la plus simple car il y en avait pas d'autres. Avec la solution des emplacement approuvés, ça c'est cool sauf que je ne sais pas si ça marche pour toutes les versions d'excel.

    Citation Envoyé par Oliv- Voir le message
    tu devrais vraiment utiliser la signature numérique qui est plus simple qu'avant
    La solution de la signature numérique serait aussi cool mais est-ce qu'on peut la faire par script ?

    Et il n'y aurait pas aussi le problème qu'un macro signée sur un poste, en la déplaçant sur un autre poste, la signature ne soit pas prise en compte ?

    parce que j'ai essayé manuellement.
    J'ai signé mon classeur, je l'ai déplacé sur une autre machine et j'ai autorisé la signature que j'avais utilisé pour mon classeur, mais à l'ouverture de mon classeur excel, il y avait quand même la demande d'activation des macros

  15. #15
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par CristofMartins Voir le message
    La solution de la signature numérique serait aussi cool mais est-ce qu'on peut la faire par script ?
    Et il n'y aurait pas aussi le problème qu'un macro signée sur un poste, en la déplaçant sur un autre poste, la signature ne soit pas prise en compte ?
    Seulement lorsque tu modifies ton code vba , attention c'est sur le code que tu dois mettre ta signature électronique (vbe/menu\outils) par sur le classeur !

    Citation Envoyé par CristofMartins Voir le message
    parce que j'ai essayé manuellement.
    J'ai signé mon classeur, je l'ai déplacé sur une autre machine et j'ai autorisé la signature que j'avais utilisé pour mon classeur, mais à l'ouverture de mon classeur excel, il y avait quand même la demande d'activation des macros
    la première fois UNIQUEMENT

    pour les emplacements approuvés c'est à partir de XL 2007

    PS DANS LE REGISTRE IL y a une clef par version OFFICE
    office\14.0= XL 2010
    office\12.0 = XL 2007
    office\11.0 =XL 2003
    avec des options différentes LEVEL au lieu de VBAWARNINGS pour 2003
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  16. #16
    Membre confirmé Avatar de Excel_man
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Par défaut
    Bonjour,
    L'idée du script pour ajouter les emplacements approuvés, je prend , ça m'aurais évité de paramétrer tout les postes moi-même.

    Du coup, je me suis aussi intéressé a la signature électronique et ça m'as pris ~ 2 min a configurer. Reste a voir comment les utilisateurs réagissent car moi aussi, j'ai dans mon entourage des gens qui n'active jamais les macros: méfiance, ignorance, l'oublie ou la flemme de cliquer 3x a chaque ouverture.
    Comme quoi il faut toujours lire un poste jusqu'au bout.

  17. #17
    Membre confirmé Avatar de CristofMartins
    Homme Profil pro
    ICH-DEV
    Inscrit en
    Juillet 2012
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Suisse

    Informations professionnelles :
    Activité : ICH-DEV
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 140
    Par défaut
    Citation Envoyé par Oliv- Voir le message
    pour les emplacements approuvés c'est à partir de XL 2007
    D'accord de toute façon, je travail pas trop avec des versions antérieures à xl 2007

  18. #18
    Membre confirmé Avatar de Excel_man
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Par défaut Problème résolu ?
    Bonjour,
    Comme la discussion n'est pas résolue (?), et ayant grâce à elle progressé sur ce sujet, j'ajoute un bout de code pour modifier a partir de la macro, la base registre. L'emplacement du fichier qui contient la macro est ajouté a la liste de emplacement aprouvés. Personnelement, je passe d'abord par un bouton pour avertir l'utilisateur puis par un message de confirmation.
    Le 12.0 dans la chemin de la clé, correspond a Excel 2007, mettre 14.0 pour XL2010.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub TonBouton_Click()
    Dim ws As Object
    Set ws = CreateObject("Wscript.Shell")
    ws.regwrite "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security\Trusted Locations\Location6\Path", ThisWorkbook.Path 'Chemin de ce fichier :Valeur chaine
    ws.regwrite "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security\Trusted Locations\Location6\AllowSubfolders", 1, "REG_DWORD" 'Autorise aussi les sous-répertoire :Valeur REG_DWORD
    ws.regwrite "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security\Trusted Locations\Location6\Date", Now 'Date et heure de maintenant :Valeur chaine
    ws.regwrite "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security\Trusted Locations\Location6\Description", "" 'Chaine vide :Valeur chaine
    MsgBox "L'emplacement: [" & ThisWorkbook.Path & "] a été ajouté a la liste des emplacements approuvés ainsi que ses sous-répertoires"
    End Sub
    Comme j'ai pu lire sur la signature d'un membre, le savoir est la seule matière qui s’accroît quand on la partage

  19. #19
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 16
    Par défaut
    Ok Merci pour l'attention Excel -Man

Discussions similaires

  1. Activer les macros automatiquement
    Par itooky dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/10/2014, 12h40
  2. supprimer le "Activer les macros"
    Par Daranc dans le forum Contribuez
    Réponses: 3
    Dernier message: 04/09/2007, 09h45
  3. Désactiver le message "Activer les macros"
    Par Jeannot45 dans le forum VBA Word
    Réponses: 1
    Dernier message: 26/07/2007, 14h03
  4. VBA : ouvrir un fichier sans activer les macros
    Par ShAk44 dans le forum Excel
    Réponses: 3
    Dernier message: 02/07/2007, 12h56
  5. Réponses: 9
    Dernier message: 19/09/2006, 22h54

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