Forcer le lancement des macros

J'ai fait un classeur qui contient des tas de macros et de fonctions. Comment forcer les utilisateurs à répondre oui à l'alerte macro. Ils ont en général une réaction de défiance lors de l'alerte d'excel et répondent "désactiver les macros".

Il n'est heureusement pas possible, pour des raisons de sécurité de forcer l'activation des macros à l'ouverture si le niveau de sécurité d'excel choisi par l'utilisateur est mis à moyen ou à haut. En revanche, cette macro répond à ton souhait de ne pas pouvoir consulter ni modifier le document tant que les macros n'ont pas été activées au démarrage : A mettre dans la feuille de code de ThisWorkbook:

Private sub Workbook_BeforeClose(Cancel As Boolean)
 Application.ScreenUpdating = False
 Sheets(1).Visible = True
 
 For i = Sheets.Count To 2 Step -1
     Sheets(i).Visible = xlVeryHidden
 Next i
 end sub
Private sub Workbook_Open()
 Application.ScreenUpdating = False
   For Each sh In Sheets
     sh.Visible = True
   Next sh
 
 Sheets(1).Visible = xlVeryHidden
 end sub

L'onglet 1, présentera dans une zone de texte un message d'instructions d'utilisation du classeur, du type : IMPORTANT : Pour utiliser ce classeur, vous devez impérativement activer les macros au démarrage. Veuillez fermer puis réouvrir ce classeur en cliquant sur "Activer les macros" lors de son ouverture. (tu auras ensuite, et pour cet onglet, activé la protection du menu Outils) Cet onglet sera, avec les proc. définies plus haut, le seul à être visible si les macros ont été désactivées au démarrage du classeur. Par contre, si les macros ont bien été activées, cet onglet sera masqué et tous les autres onglets du classeur deviendront eux visibles, consultables, et modifiables...
Astuce illustrée par ce classeur
fc-forcermacros

Auteurs : ,

Mots clefs associés à cette page : , , ,