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 à l'ouverture


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué

    Profil pro
    Pompier
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pompier

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 171
    Points
    171
    Par défaut Activer les macros à l'ouverture
    bonjour,

    la semaine dernière, j'ouvrais un post sur l'accès à un classeur via identification.
    C'est chose faite via une macro.

    Ce classeur étant sur le réseau de l'entreprise, est-il possible via un code vba d'activer les macros?
    Car si pas de macro, pas d'ouverture du formulaire d'identification et donc un full acces.

    Merci

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Je ne comprends pas ta demande.

    Tu veux qu'une macro s'active à l'ouverture de ton classeur ou bien tu veux que ton classeur soit ouvert automatiquement par une macro ? Dans le second cas, quel évènement doit déclencher cette ouverture ?

  3. #3
    Membre habitué

    Profil pro
    Pompier
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pompier

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 171
    Points
    171
    Par défaut
    ni l'un ni l'autre menhir

    quand on ouvre Excel, sur un ruban en haut parfois, il y a le message activer les macros

    ce que je voudrais, c'est que les macros soient automatiquement activées

    ET si possible, qu'il soit imposible de les désactiver.

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Il n'y a pas ce paramètre dans les options Excel. Je pense donc que ça ne doit pas être possible (et, à mon avis, c'est tant mieux, vu les dangers que ça peut représenter).

    Car si pas de macro, pas d'ouverture du formulaire d'identification et donc un full acces.
    D'où l'intérêt de la solution que je t'avais proposée à l'époque de gérer les permission par les droits sur les fichiers dans les sécurités de l'Explorer Windows.

  5. #5
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut




    Bonjour, bonjour !

    Selon la version d'Excel (qui soit dit en passant devrait être indiquée dans le titre de cette discussion
    conformément aux règles de ce forum !), il y a la possibilité d'autoriser un répertoire pour les macros
    dans le paramétrage d'Excel …


    __________________________________________________________________________________________________
    Tous unis, tous Charlie

  6. #6
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Le problème pour ce cas (si j'ai bien compris), c'est que la macro doit être associée au fichier et que ce fichier n'a pas (à priori) vocation à s'ouvrir systématiquement chaque fois que l'on ouvre Excel, comme le font les fichiers de macro qui sont placés dans le répertoire de la solution que tu préconises.

  7. #7
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    ce que dois vouloir dire Marc-L c'est que sous certaines versions, on peut définir un fichier ou un emplacement de confiance qui une fois paramétré fait que les fichiers qu'il contient sont considérés comme automatiquement sûrs. Rien à voir avec une exécution automatique à l'ouverture. Et ça se paramètre au niveau d'Excel direct.

    Nom : DGpass-01.jpg
Affichages : 7731
Taille : 42,8 Ko

    Sinon, je ne vois pas pourquoi perdre plus de temps pour quelqu'un qui ne se donne pas la peine de préciser sa version, alors que c'est fondamental comme ici, et qui dès le premier post renvoi à un autre précédent dont il ne se fatigue pas non plus à donner le lien, c'est bien sûr aux zozos qui ont la gentillesse de répondre de chercher dans les fils pour pouvoir situer le contexte

    cordialement,

    Didier

  8. #8
    Membre habitué

    Profil pro
    Pompier
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pompier

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 171
    Points
    171
    Par défaut
    bon là vous m'avez perdu

    Le classeur concerné peut être ouvert sur plusieurs postes, et sur chaque poste avec différentes sessions.

    ce n'est pas possible dans le fichier vba?

    avec un ACTIVE.macro ???

    Citation Envoyé par Didier Gonard Voir le message
    Bonjour,


    Sinon, je ne vois pas pourquoi perdre plus de temps pour quelqu'un qui ne se donne pas la peine de préciser sa version, alors que c'est fondamental comme ici, et qui dès le premier post renvoi à un autre précédent dont il ne se fatigue pas non plus à donner le lien,


    Didier
    Môsieu Didier,

    ce n'est pas la peine de monter sur ses grands cheveaux.

    Là ou je bosse, tous les excels ne sont pas sous la meme version, c'est pour celà que je n'ai pas précisé.

    je n'ai pas aussi mis le lien de mon post précédant car, à mon avis ça n'a rien à voir.


    Malgrès tout, l'info que tu délivre dans ton post est très intéressante. Et je vais me pencher là dessus.
    Meme si tu me casse tu as +1

  9. #9
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Points : 1 562
    Points
    1 562
    Par défaut
    Bonjour,

    Un hypothétique
    ACTIVE.macro
    nécessite VBA donc le serpent se mord la queue, car VBA ne peut pas s'autotester par une macro VBA si il est désactivé.
    La seule proposition simple que je vois est, en plus de celles listées par les éminents membres du forum, par exemple de crééer une cellule du type (exemple en cellule B58, Excel anglais)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    VBA Active	FALSE	WARNING: VBA n'est pas actif 'formule =IF(B58, "Pass", "WARNING: VBA n'est pas actif")
    avec un format conditionnel du type
    =$B$58<>TRUE

    et de passer cette cellule a TRUE lors de l'ouverture du classeur par VBA du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_Open()
     
    Worksheets(1).Range("B58").Value = TRUE
    End Sub
    et de la remettre à FALSE en sortie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Worksheets(1).Range("B58").Value = FALSE
    End Sub

  10. #10
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par hugodu28 Voir le message
    ce n'est pas la peine de monter sur ses grands cheveaux.
    Il a simplement écrit ce qui pour chacun ici (à part toi) est une évidence, à savoir que c'est à celui qui fait une demande d'apporter le maximum d'éléments pour aider les bénévoles à comprendre le problème posé.

    Là ou je bosse, tous les excels ne sont pas sous la meme version, c'est pour celà que je n'ai pas précisé.
    Et ça, tu ne penses pas que ça aurait eu besoin d'être précisé ? (au passage, ne te fatigue surtout pas à indiquer quelles sont les versions concernées).

    Les options disponibles, leurs dénomination et la façon d'y accéder sont différentes d'une version à l'autre.

    je n'ai pas aussi mis le lien de mon post précédant car, à mon avis ça n'a rien à voir.
    J'ai la chance de m'être souvenu du contenu de ta demande précédente (pour y avoir participé) et je ne partage pas cet avis.

  11. #11
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    notice :

    En haut de forum :

    RAPPEL: C'est VOUS qui bénéficiez du fait que vous mentionnez votre version d'Excel.
    http://www.developpez.net/forums/f54...-office/excel/

    A la rédaction / message :

    Nom : DGpass-01.jpg
Affichages : 7744
Taille : 15,1 Ko

    cordialement,

    Didier

  12. #12
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Bonjour à Tous


    Pax messieurs Pax !

    Citation Envoyé par hugodu28 Voir le message
    bonjour,

    la semaine dernière, j'ouvrais un post sur l'accès à un classeur via identification.
    C'est chose faite via une macro.

    Ce classeur étant sur le réseau de l'entreprise, est-il possible via un code vba d'activer les macros?
    Car si pas de macro, pas d'ouverture du formulaire d'identification et donc un full acces.

    Merci
    Effectivement c'est du full acces SAUF si a as protéger tes feuilles ...

    Regarde attentivement mon classeur que je t'ai mis a la fin de ton post précedent. Si on active pas les macros seule la feuille d'accueil est visible et si un petit malin affiche les autre feuilles comme elles sont protégés aucune modification n'est possible(a moins de connaitre le mot de passe)
    de plus Ma feuille Code qui contient les Nom d'utilisateurs et Mots de passe de ceux-ci est protégé de de façon a ce que les mot de passe ne puissent pas être modifé ni vu puisqu'ils ont masqués

    donc le classeur que je t'ai fourni sur le post précedent répond également à celui-ci

    Comme tu dis qu'il y a plusieurs versions, et étant donné que je l'ai fait en version 2003 et que je l'ai testé en 2010 il devrait faire l'affaire

    Si tu as d'autres questions n'hésite pas

    A+

  13. #13
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Igloobel vient de démontrer clairement que la référence au sujet précédent était indispensable.

  14. #14
    Membre habitué

    Profil pro
    Pompier
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pompier

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 171
    Points
    171
    Par défaut
    MEA CULPA les amis

    bon je vais regarder ça à tête reposée.
    en tout cas merci à vous tous pour votre aide et vos reflexions

    Igloo

    dans le VBA, cest

    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
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        Sheets("Produit A").Visible = True
        Sheets("Produit A").Protect Password:="Admin", _
                DrawingObjects:=False, Contents:=True, Scenarios:=False
        Sheets("Produit A").Visible = False
     
        Sheets("Produit B").Visible = True
        Sheets("Produit B").Protect Password:="Admin", _
                DrawingObjects:=False, Contents:=True, Scenarios:=False
        Sheets("Produit B").Visible = False
     
        Sheets("Codes").Visible = True
        Sheets("Codes").Protect Password:="Admin", _
                DrawingObjects:=False, Contents:=True, Scenarios:=False
        Sheets("Codes").Visible = False
    End Sub
    qui fait que quand le classeur se ferme, tous les ongles sont cachés?
    Si j'ai 26 feuilles, c'est 26 fois la manipe? (ctrl C - ctrl V)
    j'aimerai bien savoir comment ça fonctionne et où sont stockées les variables.

    pour ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Codes visibles	Codes modif	Produits A visibles	Produits A modif  	Produits B visibles	Produits B modif
    L'utilisateur a les droits en lecture seule ou bien modification?


    en tout cas, c'est plus simple à mettre en oeuvre que les autres solutions

  15. #15
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Points : 10 166
    Points
    10 166
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Tu convaincs ta municipalité de te payer un certificat numérique. Cela coûte quelques centaines de dollars et il faut le renouveler périodiquement. Ou tu te crées un certificat personnel sur ta machine, valable un an, et tu signes ta macro.

    Ensuite, tu t'arranges pour que le service de dictature informatique paramètre tous les Excel, pour qu'ils exécutent automatiquement les macros signées, ou si la version d'Excel en cause ne peut pas être paramétrée comme cela, que tout utilisateur soit tenu d'activer une macro signée par toi-même en personne.

    L'activation des macros exige une opération (on pourrait dire le consentement) de l'utilisateur ou du propriétaire de la machine. C'est une question de sécurité.

  16. #16
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Points : 1 562
    Points
    1 562
    Par défaut
    Bonjour,

    Et bien maintenant, c'est moi qui suis perdu
    En fait, vous voulez faire quoi exactement? Si j'ai bien compris:
    1. S'assurer que VBA est actif
    2. Protéger et gérer la visibilité des différentes worksheets?

    Point 1: voir ma réponse précédente dans cette discussion, je n'ai pas d'autres idées en tête
    Point 2: le code pourrait être énormément simplifié

    Questions:
    Q1 avez-vous des noms d'utilisateur différents? Si c'est le cas, un test sur
    devrait peut-être aider
    Q2 Le fichier est-il en mode partagé?

  17. #17
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par vinc_bilb Voir le message
    Et bien maintenant, c'est moi qui suis perdu
    C'est sans doute parce que tu n'as connaissance que de la moitié du problème.
    Et comme hugodu28 persiste à ne pas vouloir faire l'effort de mettre le lien, je m'y colle.
    http://www.developpez.net/forums/d14...estion-droits/

  18. #18
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par clementmarcotte Voir le message
    Bonjour,

    Tu convaincs ta municipalité de te payer un certificat numérique. Cela coûte quelques centaines de dollars et il faut le renouveler périodiquement. Ou tu te crées un certificat personnel sur ta machine, valable un an, et tu signes ta macro.
    C'est vrai tu as raison c'est la meilleure solution même si peu de gens (dont je fais malheureusement pas partie) savent le faire. J'ai bien essaye sans avoir réussi à le faire.
    Ensuite, tu t'arranges pour que le service de dictature informatique paramètre tous les Excel, pour qu'ils exécutent automatiquement les macros signées, ou si la version d'Excel en cause ne peut pas être paramétrée comme cela, que tout utilisateur soit tenu d'activer une macro signée par toi-même en personne.
    Ben ça chez moi c'est mission impossible parce que le service informatique qui décide est basé au USA et utilise les indiens (d'inde)pour exécuter certaines actions sur les différentes filliales répartit dans le monde ....

    et je déconseille à quiconque d'essayé de passé outre le systéme informatique car ils n'aiment pas et vont tirer à boulet rouge sur ceux qui essaieront en gros ils vont vous massacrer !

    L'activation des macros exige une opération (on pourrait dire le consentement) de l'utilisateur ou du propriétaire de la machine. C'est une question de sécurité.
    cette réponse est on ne peut plus clair ! Voilà pourquoi on ne peut activer les macros par ... macros

    mais l'idée du certificat est bien sûr le meilleure (c'est pour ces raisons que microsoft l'a developpé) seulement quelque fois comme à mon boulot c'est impossible voir Interdit

    Citation Envoyé par vinc_bilb Voir le message
    Bonjour,

    Et bien maintenant, c'est moi qui suis perdu
    En fait, vous voulez faire quoi exactement? Si j'ai bien compris:
    1. S'assurer que VBA est actif
    2. Protéger et gérer la visibilité des différentes worksheets?
    En fait s'est s'assurer que seuls les personnes autorisés ont accès aux données du classeur et que les p'tits malins ne puissent pas voir les données.

    Mais toutes façon quoi qu'on fasse sous Excel pour protéger par mot de passe les classeurs, ils restent crackable !
    donc protéger par mot de passe c'est juste pour éviter de facilité la tache aux Hackers

    A+

  19. #19
    Membre habitué

    Profil pro
    Pompier
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pompier

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 171
    Points
    171
    Par défaut
    merci à vous pour votre aide,

    normalement, je devrais réussir à finaliser la chose.

    je clos donc le post.

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

Discussions similaires

  1. [XL-2010] Activer les macros à l'ouverture avec un certificat
    Par Naiekko dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/02/2014, 23h56
  2. [XL-2007] Activer les macros à l'ouverture
    Par apt dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 18/12/2011, 09h10
  3. [Toutes versions] Supprimer message "Activer les macros" à l'ouverture d'Excel
    Par johan89 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/09/2011, 14h47
  4. [VBA] Ouverture classeur sans activer les macros
    Par xc78370 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/10/2007, 11h45

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