Bonjour!
J'ai un problème avec la gestion de la sécurité des macros.
J'ai une feuille Excel avec des macros. Lorsque je règle la sécurité sur "Désactiver toutes les macros avec notifications", que je ferme Excel et rouvre la feuille j'obtiens le bandeau jaune "Avertissement de sécurité, ....". C'est OK.
Par contre si je lance cette même feuille à partir d'un bouton d'une diapo de PowerPoint, la sécurité ne fonctionne pas et je n'ai plus le bandeau jaune d'avertissement.
Le code du bouton de PowerPoint est le suivant :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Option Explicit
Private Declare Function BringWindowToTop Lib "user32" _
(ByVal Hwnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" _
(ByVal Hwnd As Long, ByVal nCmdShow As Long) As Long
Sub CommandButton1_Click()
Dim xlApp As Object
Dim Hwnd As Long
Set xlApp = CreateObject("Excel.Application")
xlApp.Workbooks.Open FileName:="C:\Formation\FOR_113-Macros Démo01.xlsm"
'Récupère le Handle d'une fenêtre
'Le Handle est un nombre entier unique généré par Windows afin d'identifier les fenêtres.
Hwnd = xlApp.Hwnd
'Ramène Excel au premier plan
BringWindowToTop Hwnd
'Affiche en mode "Normal"
ShowWindow Hwnd, 1
xlApp.Run "Feuille2"
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Est ce lié au code du PowerPoint? J'ai aussi vu la question des emplacements et documents approuvés que j'ai vérifiés.
Je suis preneur d'une clarification sur ce point subtil (en tout cas pour moi).
En vous remerciant, cordialement.
J'ai un problème avec la gestion de la sécurité des macros.
J'ai une feuille Excel avec des macros. Lorsque je règle la sécurité sur "Désactiver toutes les macros avec notifications", que je ferme Excel et rouvre la feuille j'obtiens le bandeau jaune "Avertissement de sécurité, ....". C'est OK.
Par contre si je lance cette même feuille à partir d'un bouton d'une diapo de PowerPoint, la sécurité ne fonctionne pas et je n'ai plus le bandeau jaune d'avertissement.
Le code du bouton de PowerPoint est le suivant :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Option Explicit
Private Declare Function BringWindowToTop Lib "user32" _
(ByVal Hwnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" _
(ByVal Hwnd As Long, ByVal nCmdShow As Long) As Long
Sub CommandButton1_Click()
Dim xlApp As Object
Dim Hwnd As Long
Set xlApp = CreateObject("Excel.Application")
xlApp.Workbooks.Open FileName:="C:\Formation\FOR_113-Macros Démo01.xlsm"
'Récupère le Handle d'une fenêtre
'Le Handle est un nombre entier unique généré par Windows afin d'identifier les fenêtres.
Hwnd = xlApp.Hwnd
'Ramène Excel au premier plan
BringWindowToTop Hwnd
'Affiche en mode "Normal"
ShowWindow Hwnd, 1
xlApp.Run "Feuille2"
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Est ce lié au code du PowerPoint? J'ai aussi vu la question des emplacements et documents approuvés que j'ai vérifiés.
Je suis preneur d'une clarification sur ce point subtil (en tout cas pour moi).
En vous remerciant, cordialement.