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 :

Approuver Accès au projet VBA dans auto_open


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Approuver Accès au projet VBA dans auto_open
    Voici mon problème : j'ai un programme VBA sur excel qui tourne parfaitement depuis 3 ans dans les versions excel97 à 2003. Je développe actuellement la version 2 de ce programme qui doit supprimer des modules et en rajouter dans l'auto_open. Or dans Office 2007, il faut que je coche "Accès approuvé au modèle d'objet du projet VBA" pour que le programme puisse manipuler les modules de façon transparente pour l'utilisateur. Il faudrait que je puisse activer cette coche par une commande VBA que je n'arrive pas à trouver. Deuxième question : j'aimerais désactiver les menus des onglets dans Office 2007, la partie du programme qui supprimait les menus d'excel 2003 (et rajoutait un menu personnalisé) ne génére pas de bug sous 2007 mais ne fait rien !! Merci à la personne qui pourra répondre à ces 2 problèmes.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Je pense que l'on est nombreux à avoir ce problème, mais je n'ai jamais vu aucune réponse...

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Si un programme peut désactiver une sécurité qui est censée l'empêcher de nuire, cette sécurité n'a aucune raison d'exister.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Pour contourner ce problème, je detecte l'erreur si cette case n'est pas cochée, et j'affiche un UserForm avec une belle mise en page en expliquant à l'utilisateur la marche à suivre pour aller cocher cette case, et pour faciliter le travail à l'utilisateur, j'execute ce USF en Showmodal = False, comme ça il peut faire la manipulation en lisant le message.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Bonjour jojo86, bonjour à tous !
    Une recherche sur mon soucis et je tombe sur ce (vieux) fil...
    Votre solution m'intéresse au plus haut point, si vous êtes encore par là et que vous accepteriez me nous faire part du code de cette méthode, j'en serais ravi...

    Le "plus" dans mes besoins serait que le fichier puisse empêcher toute autre macro (du fichier) tant que cette option n'est pas activée...

    Merci par avance !

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2012
    Messages : 5
    Points : 14
    Points
    14
    Par défaut
    Bonjour

    Une autre solution qui vaut ce qu'elle vaut !


    dans Workbook_Open :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Workbook_Open()
      Application.ontime Now + TimeValue("00:00:01"), "SecuriteVBE"
    end Sub
    Le OnTime est indispensable !


    Puis dans un module :
    'XL2003
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub SecuriteVBE()
      On error Goto gestError
      i = application.Vbe.version
      exit Sub
     
    gestError:
      SendKeys "%OMéd"
      SendKeys "%r"
      SendKeys "{ENTER}"
    end Sub
    'XL2010
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub SecuriteVBE()
      On error Goto gestError
      i = application.Vbe.version
      exit Sub
     
    gestError:
        SendKeys "%v"
        SendKeys "{ENTER}"
        Application.CommandBars.ExecuteMso "MacroSecurity"
    End Sub

  7. #7
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Bonjour,

    Une vieille solution pour afficher un message explicatif si la case n'est pas cochée.
    Prévue pour Xl2003, elle fonctionne aussi avec xl2007, il faudrait d'adapter le message aux nouveau menus

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Private Sub Workbook_Open()
    ' 08/09/08    Patrice
    '
      Dim msg As String
      Dim bln As Boolean
     
      'Teste l'éditeur VBA
      On Error GoTo ErrorHandler
      bln = Application.VBE.MainWindow.Visible
      On Error GoTo 0
     
      Exit Sub
     
     
    ErrorHandler:          'Routine de gestion d'erreur.
    '------------
    'Évalue le numéro d'erreur.
    Select Case Err.Description
      Case "L'accès par programme au projet Visual Basic n'est pas fiable" & vbLf
        msg = "Erreur " & Err.Number & " : " & Err.Description & vbCr & vbCr
        msg = msg & "Pour autoriser l'accès au projet Visual Basic : " & vbCr
        msg = msg & "- Menu « Outils » puis « Options... » ;" & vbCr
        msg = msg & "- Onglet « Sécurité » puis « Sécurité des macros... » ;" & vbCr
        msg = msg & "- Onglet  « Éditeurs approuvés » ;" & vbCr
        msg = msg & "- Cocher la case « Faire confiance au projet Visual Basic » ;" & vbCr
        msg = msg & "- Valider ce choix par Ok (2 fois)." & vbCr & vbCr
        msg = msg & "- Fermer Excel et réouvrir " & ThisWorkbook.Name
        'Il semble qu'une faille de sécurité autorise l'accès au projet lorsque le
        'débogueur est lancé ou lorsque ce Handler est exécuté alors que l'option
        '« Faire confiance au projet Visual Basic » n'est pas cochée !!!
        'Pour éviter toute ambiguité il est préférable de cocher cette option
        MsgBox msg, vbCritical
        Resume Next
      Case Else
        MsgBox Err.Description, vbCritical
        Stop
        End     'Resume Next
    End Select
     
    End Sub
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

Discussions similaires

  1. Approuver Accès au projet VBA dans auto_open
    Par hartarus dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/05/2015, 08h32
  2. Réponses: 0
    Dernier message: 08/10/2014, 16h50
  3. [XL-2007] Accès au projet VBA
    Par Nikodemus dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 18/07/2013, 08h12
  4. Accès au projet vba non fiable
    Par bastien dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/06/2013, 23h34
  5. Approuver Accès au projet VBA dans auto_open
    Par samtous dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/12/2011, 12h28

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