Lori avait un problème avec un classeur qu’elle voulait partager avec d’autres. Le classeur contenait une macro, mais chaque fois que le classeur est protégé pour empêcher les autres d’apporter des modifications au classeur, Lori signale que «la macro est désactivée».

Le problème exact de Lori est un peu difficile à reproduire, car les tests montrent que les macros sont toujours disponibles dans les feuilles de calcul protégées et les classeurs protégés. Vous pouvez toujours afficher la boîte de dialogue Macros et voir la liste des macros disponibles. Vous pouvez toujours choisir l’une des macros et l’exécuter.

Bien sûr, voir et exécuter les macros n’est peut-être pas le problème de Lori; il se peut que la macro ne s’exécute pas correctement lorsqu’elle est utilisée sur une feuille de calcul protégée. Si tel est le cas, le problème survient généralement uniquement si la macro tente d’effectuer une action qui viole la protection appliquée à la feuille de calcul. Par exemple, si la protection ne permet pas de supprimer des lignes ou des colonnes et que la macro essaie de le faire, cela ne fonctionnera pas.

La solution dans ce cas consiste à modifier votre macro afin qu’elle déprotège la feuille de calcul avant d’effectuer ses modifications. Ce qui suit montre les bases de la façon dont cela est fait:

Sub ModifyProtectedSheet()

ActiveSheet.Unprotect password:="yourpassword"



'work on the worksheet here

ActiveSheet.Protect password:="yourpassword", _       DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub

La première ligne de cet exemple déprotège la feuille de calcul, vous pouvez ensuite effectuer votre traitement, puis la dernière ligne la protège à nouveau. Si votre classeur utilise la protection, la même technique peut être utilisée avec le classeur: déprotégez-le, puis apportez des modifications, puis reprotégez-le.

Le problème de Lori pourrait également être lié au mot «partage», qu’elle a utilisé dans son énoncé du problème. Si, en partageant, Lori signifie utiliser Partager le classeur pour rendre le classeur «partageable» par d’autres, vous verrez alors un avertissement lorsque le partage est activé. L’avertissement indique que les macros ne peuvent pas être «affichées ou modifiées» dans les classeurs partagés. Cependant, cela ne signifie pas que les macros sont désactivées, car vous pouvez toujours afficher la boîte de dialogue Macros pour voir une liste de macros et en choisir une à exécuter. Cependant, vous ne pouvez pas afficher l’éditeur VBA et examiner le code de macro réel.

Enfin, certaines fonctionnalités d’Excel sont simplement désactivées dans les classeurs partagés. Si votre macro essaie d’effectuer l’une de ces actions désactivées, elle ne fonctionnera pas correctement. Il s’agit d’une limitation d’Excel, et rien ne peut être fait à ce sujet. (Pour plus d’informations sur ce qui ne peut pas être fait dans un classeur partagé, utilisez le système d’aide en ligne et recherchez «classeurs partagés, limitations».) Le seul moyen de contourner ces limitations est de ne pas partager le classeur.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (2833) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Using_Macros_in_Protected_Workbooks [Utilisation de macros dans des classeurs protégés].