Forcer vos clients à activer les macros Excel

Forcer vos clients à activer les macros Excel

Pour utiliser une macro dans Excel, vos utilisateurs doivent activer les macros. C'est-à-dire qu'ils doivent donner à Excel l'autorisation d'exécuter des macros dans leur environnement. Pour activer les macros, les utilisateurs cliquent sur le bouton Activer le contenu dans l'avertissement de sécurité qui s'affiche au-dessus de la barre de formule.

Forcer vos clients à activer les macros Excel

En fin de compte, vous pouvez écrire toutes les macros sophistiquées du monde, mais elles ne s'exécuteront jamais à moins que vos utilisateurs n'activent les macros. Cela soulève la question; pouvez-vous forcer les utilisateurs à activer les macros ? La réponse est oui – avec un peu de ruse.

L'idée est relativement simple. Vous créez une feuille nommée, disons, START. Cette feuille ne contient qu'un simple avertissement indiquant que les macros doivent être activées. Vous masquez ensuite toutes les feuilles du classeur, à l'exception de cette feuille START. Enfin, vous écrivez une macro simple qui affiche toutes les feuilles lorsque le classeur est ouvert.

Forcer vos clients à activer les macros Excel

À ce stade, lorsque le classeur est ouvert, Excel demandera à l'utilisateur d'activer les macros. Les utilisateurs seront obligés de le faire car tout ce qu'ils verront est votre feuille de démarrage. Les autres feuilles seront cachées !

Pour que cette technique fonctionne, vous avez besoin de deux macros : une macro masque tout sauf la feuille START lorsque le classeur se ferme et une autre macro qui affiche tout sauf la feuille START lorsque le classeur s'ouvre.

Tout d'abord, abordez les actions qui doivent se produire lorsque le classeur se ferme. :

Activez Visual Basic Editor en appuyant sur ALT+F11 sur votre clavier

Dans la fenêtre Projet, recherchez le nom de votre projet/classeur et cliquez sur le signe plus à côté pour voir toutes les feuilles.

Cliquez sur Ce classeur.

Dans la liste déroulante Événement, sélectionnez l'événement BeforeClose.

Forcer vos clients à activer les macros Excel

Tapez ou collez le code suivant :

Private Sub Workbook_BeforeClose (Annuler en tant que booléen)
'Étape 1 : Déclarez vos variables
  Dim ws As Feuille de calcul
'Étape 2 : Afficher la feuille de départ
  Sheets("START").Visible = xlSheetVisible
« Étape 3 : Commencez à parcourir toutes les feuilles de calcul en boucle
  Pour chaque ws dans ThisWorkbook.Worksheets
'Étape 4: Vérifiez le nom de chaque feuille de calcul
  Si ws.Name <> "START" Alors
'Étape 5 : Cacher la feuille
  ws.Visible = xlVeryHidden
  Fin si
'Étape 6 : boucle vers la feuille de calcul suivante
  WS suivant
'Étape 7 : Enregistrez le classeur
  ActiveWorkbook.Enregistrer
Fin du sous-marin

À l'étape 1, vous déclarez un objet appelé ws pour créer un conteneur de mémoire pour chaque feuille de calcul que vous parcourez.

À l'étape 2, vous vous assurez que la feuille START est visible.

À l'étape 3, vous démarrez la boucle en indiquant à Excel que vous souhaitez évaluer toutes les feuilles de calcul de ce classeur.

À l'étape 4, vous comparez simplement le nom START à la feuille actuellement bouclée. Cette étape garantit que les actions suivantes sont appliquées à toutes les feuilles, à l'exception de la feuille START.

Si les noms de feuille sont différents, à l'étape 5, vous masquez la feuille à l'aide de la propriété xlVeryHidden. Cette propriété masque non seulement la feuille, mais empêche également l'utilisateur de l'afficher manuellement à l'aide de l'interface utilisateur.

Vous revenez en arrière pour obtenir la feuille suivante à l'étape 6.

À l'étape 7, une fois toutes les feuilles évaluées, la macro enregistre le classeur et se termine.

Maintenant, vous devez écrire une macro pour gérer toutes les actions qui doivent se produire à l'ouverture du classeur :

Activez Visual Basic Editor en appuyant sur ALT+F11.

Dans la fenêtre Projet, recherchez le nom de votre projet/classeur et cliquez sur le signe plus à côté pour voir toutes les feuilles.

Cliquez sur Ce classeur.

Dans la liste déroulante Événement, sélectionnez l'événement Ouvrir.

Forcer vos clients à activer les macros Excel

Tapez ou collez le code suivant :

Sous-classeur privé_Open()
'Étape 1 : Déclarez vos variables
  Dim ws As Feuille de calcul
'Étape 2 : Commencez à parcourir toutes les feuilles de calcul
  Pour chaque ws dans ThisWorkbook.Worksheets
'Étape 3: Afficher toutes les feuilles de calcul
  ws.Visible = xlFeuilleVisible
'Étape 4 : boucle vers la feuille de calcul suivante
  WS suivant
'Étape 5 : Masquer la feuille de démarrage
  Sheets("START").Visible = xlVeryHidden
Fin du sous-marin

À l'étape 1, vous déclarez un objet appelé ws pour créer un conteneur de mémoire pour chaque feuille de calcul que vous parcourez.

À l'étape 2, vous démarrez la boucle en indiquant à Excel que vous souhaitez évaluer toutes les feuilles de calcul de ce classeur.

À l'étape 3, vous affichez la feuille actuellement bouclée. Cette étape affiche efficacement toutes les feuilles de calcul à mesure que chaque feuille est rendue visible.

Vous revenez en arrière pour obtenir la feuille suivante à l'étape 4.

Une fois que toutes les feuilles sont rendues visibles, l'étape 5 masque la feuille START. Encore une fois, vous utilisez la propriété xlVeryHidden afin que l'utilisateur ne puisse pas afficher manuellement la feuille à l'aide de l'interface utilisateur.

Une fois les deux macros implémentées, vous aurez un classeur qui ne fonctionnera que si l'utilisateur active les macros !


Feuille intelligente 9.1.1

Feuille intelligente 9.1.1

Smartsheet est une plateforme de travail dynamique qui vous permet de gérer des projets, de créer des flux de travail et de collaborer avec votre équipe.

SharePoint

SharePoint

SharePoint est un système de collaboration basé sur le Web qui utilise une variété d'applications de flux de travail, des bases de données de « liste » et d'autres composants Web, ainsi que des fonctionnalités de sécurité pour donner le contrôle aux groupes professionnels qui travaillent ensemble.

Calendrier perpétuel 1.0.38/1.0.36

Calendrier perpétuel 1.0.38/1.0.36

Van Nien Calendar est une application d'affichage de calendrier sur votre téléphone, vous aidant à voir rapidement la date luni-solaire sur votre téléphone, organisant ainsi votre travail important.

Microsoft Outlook 2021

Microsoft Outlook 2021

Microsoft Outlook est une application commerciale et de productivité développée par Microsoft Corporation.

Cliquez vers le haut

Cliquez vers le haut

ClickUp est l'une des plateformes de productivité les mieux notées pour toutes les entreprises. Les grandes entreprises comme Google, Booking.com, San Diego Padres et Uber utilisent toutes ClickUp pour augmenter la productivité sur le lieu de travail.

Visionneuse PDF-XChange 2.5.322.10

Visionneuse PDF-XChange 2.5.322.10

Le PDF est devenu un format couramment utilisé pour lire, créer et envoyer des documents texte. À son tour, le nombre de programmes utilisés pour ce type de documentation a augmenté. PDF-XChange Viewer fait partie d'un nombre croissant de visualiseurs PDF.

Apache OpenOffice

Apache OpenOffice

Apache OpenOffice propose une suite complète d'applications Office qui rivalisent avec Microsoft 365, notamment dans Excel, PowerPoint et Word. Il vous permet de gérer vos projets plus efficacement et prend en charge plusieurs formats de fichiers.

Télécharger iTaxviewer 1.8.7

Télécharger iTaxviewer 1.8.7

Le logiciel iTaxViewer est aujourd'hui le logiciel de lecture de fichiers XML le plus populaire. Ce logiciel est une application de lecture des déclarations fiscales électroniques au format XML de la Direction Générale des Impôts.

Lecteur PDF Nitro

Lecteur PDF Nitro

Nitro PDF Reader est un éditeur PDF pratique qui couvre toutes les tâches de base que la plupart des gens effectuent quotidiennement avec des documents PDF.

Lecteur Foxit 12

Lecteur Foxit 12

Foxit Reader est avant tout un lecteur PDF et vous permet également de créer des fichiers PDF, de les signer, de les modifier et d'ajouter des annotations. Il fonctionne sur les systèmes d'exploitation, il existe des plugins pour divers programmes du package Microsoft Office.