Sécurité des macros

Bonjour à toutes et à tous,

Je bloque sur la sécurité des macros, car il m'est indispensable tous les pc utilisant mes fichiers soient en sécurité basse.

J'ai 2 problèmes:

1/ Des pc sont avec Excel 2003; 2007 ou 2010 (Je ne sais pas si c'est vraiment utile de faire la distinction entre le 2003 et les autres. Dans le doute, je l'ai prévu dans le code),

2/ Le code ci-dessous ne fonctionne pas et je comprends pas pourquoi.

Merci d'avance pour votre aide.

Private sub Workbook_Open ()

Dim VerExcel As String

VerExcel = Application.Version

If VerExcel < "12.0" then

Application.AutomationSecurity = msoAutomationSecurityLow

ElseIf VerExcel >= "12.0" then

Application.AutomationSecurity = msoAutomationSecurityLow

Application.AutomationSecurity = msoAutomationSecurityByUI

Application.AutomationSecurity = msoAutomationSecurityForceDisable

End If

End Sub

Bonjour.

Etes vous certain :

1/ que cette macro s'exécute, vous ne pourrez en être certain si la sécurité est au maximum (désactivation des macros sans notification) ;

2/ que les conditions liées au lancement des instructions sont réalisées ?

Vous pourriez utilement y glisser des instructions (à différentes étapes) liée à l'affichage d'un message (par exemple) pour vous assurez que votre macro s'exécute comme vous l'attendez.

Bonjour,

En effet, j'ai testé le code et il ne fonctionne pas sans comprendre pourquoi. (J'ai pioché le code un peu de partout).

Avec les versions récentes d'Excel et leurs nouvelles sécurités, je dois adapter le code donc je dois prendre en compte les versions.

J'espère que vous pourrez m'aider et surtout que se soit et réalisable.

Cordialement

Bonjour,

If VerExcel < "12.0" then

Tu testes une chaine comme s'il s'agissait d'un numérique.

A tester :

If VerExcel = "11.0" then
...
else
...
endif

eric

La macro suivante donne la version d'Excel en cours et permet l'exécution des instructions correspondantes :

Private sub Workbook_Open ()

Dim VerExcel As String

VerExcel = Application.Version

If Application.Version = "12.0" Then

MsgBox "Vous utilisez Excel 2007."

instructions12

ElseIf Application.Version = "11.0" Then

MsgBox "Vous utilisez Excel 2003."

instructions11

ElseIf Application.Version = "10.0" Then

MsgBox "Vous utilisez Excel 2002."

instructions10

ElseIf Application.Version = "9.0" Then

MsgBox "Vous utilisez Excel 2000."

instructions9

ElseIf Application.Version = "8.0" Then

MsgBox "Vous utilisez Excel 97."

instructions8

ElseIf Application.Version = "7.0" Then

MsgBox "Vous utilisez Excel 95."

instructions7

End If

End Sub

ForumExcel,

La version est bien reconnue (msgbox) mais le niveau de sécurité ne change pas.

Ps: J'ai une version 2003 - Pour tester je mets le niveau de sécurité en moyen.

Cordialement

Bonjour,

Après maintes recherches et tests, je n'arrive à avoir le bon code pour modifier automatiquement dès l'ouverture du fichier la sécurité des macros vers bas.

Est-ce possible? Si oui, laquelle?

Merci d'avance pour vos réponses

Bonjour,

Tu penserais quoi du sérieux de la sécurité chez MS si dès la 1ère ligne de code on pouvait faire sauter le choix de l'utilisateur d'être averti qu'il y a des macros potentiellement dangereuses ?

Tu rigolerais très fort je pense.

Signe tes projets et accepte ta signature sur les postes concernés la 1ère fois. Ensuite il n'y aura plus de demande d'accepter tes macros sur ceux-ci au lancement du fichier.

eric

Bonjour et merci pour ta réponse Eriiic.

Je ne sais pas du tout comment signé mon projet.

Peux-tu m'aider stp?

Cordialement

Bonjour,

dans le menu démarrer 'office / outils office' il y a 'Créer un certificat numérique' pour le créer. Tu mets le nom que tu veux.

Dans ton projet 'Outils / signature électronique' cliquer sur 'choisir' et tu sélectionnes celui que tu as créé.

A chaque fois que tu enregistres suite à des modifs il faudra le re-signer (pénible mais bon...)

A la 1ère ouverture sur un autre poste il faut accepter et valider la signature (bien lire les boites de dialogues dès le début).

A faire sur tous les postes ou préparer un modop pour les utilisateurs (prévoir des captures écrans car il y a un enchainement pas très instinctif).

eric

edit: un oubli.

Sur le poste fermer et rouvrir le fichier, avant d'activer les macros cocher 'toujours faire confiance aux macros provenant de cet éditeur'.

Il ne le demandera plus...

Merci beaucoup Eric,

J'ai plus qu'à me mettre au travail.

Cordialement

Rechercher des sujets similaires à "securite macros"