Paramètres de notification de macro
Vérifié avec Microsoft 365/Office 5568.1000 — mis à jour le 4 septembre 2026
Pris en charge sur : Au minimum Windows Server 2008 R2 ou Windows 7
Chemin dans la console GPO
Configuration utilisateur\Modèles d'administration\Microsoft Excel 2016\Options Excel\Sécurité\Centre de gestion de la confidentialité Description
Ce paramètre de stratégie contrôle l’avertissement des utilisateurs par les applications spécifiées lorsque des macros Visual Basic pour Applications (VBA) ou Excel 4.0 (XLM) sont présentes. De nombreuses applications Office prennent en charge les macros VBA, mais les macros XLM sont uniquement prises en charge par Excel. Si vous activez ce paramètre de stratégie, vous pouvez choisir parmi quatre options pour déterminer la façon dont les applications spécifiées avertiront l’utilisateur sur les macros VBA. Il existe également une case à cocher qui détermine la façon dont Excel avertira l’utilisateur sur les macros XLM. Pour les macros VBA, voici vos choix : : Désactiver les macros VBA sans notification : l’application désactive les macros VBA, signées ou non, et n’avertit pas les utilisateurs. : Désactiver les macros VBA avec notification : l’application affiche la barre de confidentialité pour les macros VBA, signées ou non. Cette option applique la configuration par défaut dans Office. : Désactiver les macros VBA sauf les macros signées numériquement : l’application affiche la barre de confidentialité pour les macros signées numériquement, et permet aux utilisateurs de les activer ou de les laisser désactivées. Les macros non signées sont désactivées et les utilisateurs ne reçoivent pas de notification. : Activer les macros VBA (non recommandé) : les macros VBA, signées ou non, sont activées. Cette option peut réduire la sécurité de manière significative en permettant l’exécution non détectée de code dangereux. Si vous désactivez ou ne configurez pas ce paramètre de stratégie, le paramètre par défaut est « Désactiver les macros VBA avec notification » et « Activer les macros Excel 4.0 lorsque les macros VBA sont activées » est coché. Lorsque les utilisateurs ouvrent des fichiers dans les applications spécifiées qui contiennent des macros VBA ou XLM, les applications ouvrent les fichiers avec les macros désactivées et affichent la barre de confiance qui inclut un avertissement indiquant que les macros présentes ont été désactivées. Les utilisateurs peuvent inspecter et modifier les fichiers le cas échéant, mais ne peuvent pas utiliser les fonctionnalités désactivées. Celles-ci peuvent être activées en cliquant sur « Activer le contenu » dans la barre de confiance. La section suivante s’applique uniquement aux macros (XLM) Excel 4.0. Si vous sélectionnez la case à cocher « Activer les macros Excel 4.0 lorsque les macros VBA sont activées », le paramètre sélectionné pour les macros VBA s’appliqueront également aux macros XLM. Si vous ne sélectionnez pas cette case à cocher, toutes les macros XLM sont désactivées et les utilisateurs ne sont pas avertis. Vous ne pouvez pas signer les macros XLM et elles seront désactivées si vous choisissez « Désactiver les macros VBA sauf les macros signées numériquement ». Si vous avez désactivé le paramètre de stratégie « Empêcher Excel d’exécuter les macros XLM », les macros XLM ne peuvent pas être exécutées dans Excel, quelle que soit votre configuration de ce paramètre de stratégie. La section suivante s’applique uniquement aux macros VBA : Si vous sélectionnez la case à cocher « Exiger la signature des macros par un éditeur approuvé », les utilisateurs ouvrant des fichiers à l’aide de macros signées numériquement, et non pas un éditeur approuvé, recevront une notification indiquant que l’exécution des macros est bloquée. Il existe également deux cases à cocher supplémentaires que nous vous recommandons de sélectionner pour optimiser la sécurité. : Bloquer les certificats des éditeurs approuvés qui sont installés dans le magasin de certificats de l’utilisateur actuel. : Exiger l’Utilisation améliorée de la clé (EKU) pour les certificats des éditeurs approuvés Remarque : ces deux cases à cocher s’appliquent uniquement si vous avez sélectionné la case « Exiger la signature des macros par un éditeur approuvé ». Remarque : les trois cases à cocher concernant les éditeurs de confiance ne s'appliquent qu'aux versions 2012 et ultérieures d'Office et de Visio. La case à cocher « Activer les macros Excel 4.0 lorsque les macros VBA sont activées » s'applique uniquement à la version 2111 et aux versions ultérieures d'Office. Aucune des cases à cocher ne s'applique à Office 2016 ou Office 2019. Si vous sélectionnez « Bloquer les certificats des éditeurs approuvés installés dans le magasin de certificats de l’ordinateur local », les macros ne s’exécutent pas si le certificat de l’éditeur approuvé est installé dans le magasin de certificats de l’utilisateur actuel. Le certificat doit être installé dans le magasin de certificats de l’ordinateur local pour que la macro s’exécute. Seuls les comptes disposant d’un accès administrateur sur l’ordinateur peuvent effectuer l’installation d’un certificat dans le magasin de certificats de l’ordinateur local. Si vous sélectionnez la case à cocher « Exiger l’Utilisation améliorée de la clé (EKU) pour les certificats d’éditeurs approuvés », le certificat EKU doit inclure la « Signature de code » en tant que l’une des utilisations du certificat. Important : si l’option « Désactiver tout sauf les macros signées numériquement » est activée, les utilisateurs ne peuvent pas ouvrir les bases de données Access non signées. En outre, Microsoft Office enregistre les certificats des éditeurs approuvés dans la banque des éditeurs approuvés d’Internet Explorer. Dans les versions précédentes de Microsoft Office, les informations relatives aux certificats des éditeurs approuvés (notamment, les empreintes de certificat) étaient enregistrées dans une banque d’éditeurs approuvés spéciale. Microsoft Office lit ces informations dans la banque d’éditeurs approuvés d’Office mais n’écrit aucune information dans cette banque. Si vous avez créé une liste des éditeurs approuvés dans une version précédente de Microsoft Office et effectué une mise à niveau vers Office, cette liste est toujours reconnue. Toutefois, les certificats d’éditeurs approuvés ajoutés à la liste sont enregistrés dans la banque des éditeurs approuvés d’Internet Explorer.
Registre
software\policies\microsoft\office\16.0\excel\security Générateur d'exports
BETAConfigurez l'état, la portée et les options, puis générez les sorties .reg, PowerShell, Intune et SCCM — ou ajoutez le paramètre à une collection multi-paramètres.
Ces exports écrivent le registre — ce n'est pas une GPO managée. ⓘ
Fichier .reg
Windows Registry Editor Version 5.00
; Exported from gporais.com
; Policy: Paramètres de notification de macro
; State: Enabled
; Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
[HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\excel\security]
"vbawarnings"=dword:00000004
"xl4macrowarningfollowvba"=dword:00000000
"vbadigsigtrustedpublishers"=dword:00000000
"vbarequirelmtrustedpublisher"=dword:00000000
"vbarequiredigsigwithcodesigningeku"=dword:00000000 Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Paramètres de notification de macro
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\software\policies\microsoft\office\16.0\excel\security'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'vbawarnings' -Value 4 -Type DWord
Set-ItemProperty -Path $path -Name 'xl4macrowarningfollowvba' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'vbadigsigtrustedpublishers' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'vbarequirelmtrustedpublisher' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'vbarequiredigsigwithcodesigningeku' -Value 0 -Type DWord Intune XML
Aucune correspondance directe Policy CSP / OMA-URI pour cette stratégie. Utilisez l'onglet Intune Remediation, ou importez l'ADMX dans Intune. Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Paramètres de notification de macro
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\excel\security' -Name 'vbawarnings' -Expected 4 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\excel\security' -Name 'xl4macrowarningfollowvba' -Expected 0 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\excel\security' -Name 'vbadigsigtrustedpublishers' -Expected 0 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\excel\security' -Name 'vbarequirelmtrustedpublisher' -Expected 0 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\excel\security' -Name 'vbarequiredigsigwithcodesigningeku' -Expected 0 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Paramètres de notification de macro
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\software\policies\microsoft\office\16.0\excel\security'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'vbawarnings' -Value 4 -Type DWord
Set-ItemProperty -Path $path -Name 'xl4macrowarningfollowvba' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'vbadigsigtrustedpublishers' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'vbarequirelmtrustedpublisher' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'vbarequiredigsigwithcodesigningeku' -Value 0 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Paramètres de notification de macro
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
# SCCM Configuration Item guidance:
# Create a Configuration Item of type "Setting: Script".
# Discovery script: use the Detection script below.
# Remediation script: use the Remediation script below.
# Compliance rule: the Discovery script output equals 'Compliant'.
# === Detection script ===
# Exported from gporais.com
# Policy: Paramètres de notification de macro
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\excel\security' -Name 'vbawarnings' -Expected 4 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\excel\security' -Name 'xl4macrowarningfollowvba' -Expected 0 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\excel\security' -Name 'vbadigsigtrustedpublishers' -Expected 0 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\excel\security' -Name 'vbarequirelmtrustedpublisher' -Expected 0 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\excel\security' -Name 'vbarequiredigsigwithcodesigningeku' -Expected 0 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Paramètres de notification de macro
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\software\policies\microsoft\office\16.0\excel\security'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'vbawarnings' -Value 4 -Type DWord
Set-ItemProperty -Path $path -Name 'xl4macrowarningfollowvba' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'vbadigsigtrustedpublishers' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'vbarequirelmtrustedpublisher' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'vbarequiredigsigwithcodesigningeku' -Value 0 -Type DWord Vous construisez une collection multi-paramètres ? Ajoutez ce paramètre et générez des exports combinés (.reg, PowerShell, GPO).