[Catégorie modifiée VB6 --> VBA] Macro Excel

Résolu
ppgm12 Messages postés 14 Date d'inscription mercredi 13 octobre 2010 Statut Membre Dernière intervention 26 mars 2013 - 19 oct. 2010 à 16:05
ppgm12 Messages postés 14 Date d'inscription mercredi 13 octobre 2010 Statut Membre Dernière intervention 26 mars 2013 - 22 oct. 2010 à 09:34
Salut!
Comment programmer la VBE de excel afin d'empecher d'autre utilisateur de desactiver la Macro.
Je souhaite simplement qu'ils puissent travailler sur ce fichier seulement lorsque la macro est active.
Merci

javascript:void(0);
Merci !?

10 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
20 oct. 2010 à 09:58
Bonjour,

Le plus simple pour comprendre comment proteger (par macro) ton classeur est d'utiliser l'enregistreur de macro puis de faire dans ton classeur Excel la protection.

Pour la manip, tout dépend de ta version d'Office.

Sous 2000 - 2003 = >
Depuis ton classeur Excel:
Menu Outil / Protection / Protéger la feuille
Menu Outil / Protection / Protéger le classeur

Par exemple, en VBA, pour une feuille :
'Proteger la feuille active
ActiveSheet.Protect Password: ="toto"
'Enlever protection
ActiveSheet.Unprotect Password:="toto"


Je te laisse un peu chercher pour le classeur (c'est plus ou moins la même chose ^^ )

Pour comprendre la PROTECTION dans Excel, je t'invite à lire ce document :
excel_protection.pdf

Ensuite, pour que ton code s'active à l'ouverture du classeur, tu l'execute depuis la méthode : Workbook.open.

Private Sub Workbook_Open()
    'Déprotection de la feuille 1
Sheets(1).Unprotect Password:="toto"
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
' En quittant.. réactivation de la protection
Sheets(1).Protect Password:="toto"
End Sub




Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
3
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
20 oct. 2010 à 08:38
Bonjour,
A ma connaissance ce n'est pas possible.
Pour une question de sécurité (virus par exemple), l'utilisateur peu définir le niveau de sécurité des macros et cela n'est pas modifiable... par macro.

De toutes façons, à l'ouverture de ton classeur, Excel test en premier si tu as des macros et s'il faut (selon le niveau de sécurité) exécuter .. ou non tes macros.

Je pense qu'il faudrait que tu te tourne vers les Certificats numériques.

Ou sinon.. tu protèges ton classeur (tu protège les feuilles, les masque, et protège la structure du classeur..) et tu ne le déprotège QUE par macro. Ainsi.. si les macros ne sont pas activées.. ton classeur n'est pas utilisable.



Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
ppgm12 Messages postés 14 Date d'inscription mercredi 13 octobre 2010 Statut Membre Dernière intervention 26 mars 2013
20 oct. 2010 à 09:45
Merci pour cette Information et que dois je donc faire pour pour protéger mes feuilles et mon classeur afin qu'ils ne soient ouvrable qu'avec la Macro?


javascript:void(0);
Merci !?
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
20 oct. 2010 à 11:22
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ppgm12 Messages postés 14 Date d'inscription mercredi 13 octobre 2010 Statut Membre Dernière intervention 26 mars 2013
20 oct. 2010 à 13:39
salut
j'ai essayé le site que tu m'as conseillé mais j'ai une erreur qui s'affiche a mon ecran.
Erreur : WithEvents XL As Excel.Application


javascript:void(0);
Merci !?
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
20 oct. 2010 à 13:56
tu as quel version d'excel ?

A+
0
ppgm12 Messages postés 14 Date d'inscription mercredi 13 octobre 2010 Statut Membre Dernière intervention 26 mars 2013
20 oct. 2010 à 15:23
Microsoft Excel 2003


javascript:void(0);
Merci !?
0
ppgm12 Messages postés 14 Date d'inscription mercredi 13 octobre 2010 Statut Membre Dernière intervention 26 mars 2013
21 oct. 2010 à 13:51
Comment programmer la VBE de excel afin d'empecher d'autre utilisateur de desactiver la Macro.
Je souhaite simplement qu'ils puissent travailler sur ce fichier seulement lorsque la macro est active.
Merci
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
21 oct. 2010 à 17:17
soit en cachant les feuilles en les passant à XlVeryHiden puis en les passant à visible à l'ouverture. Si l'utilisateur desactive les macro les feuilles resteront cachées.

soit en utilisant la propriété IsAdin qui permet rendre inacessible les feuilles.

mais tout est expliqué et implémenté dans le fichier téléchargeable à l'adresse indiqué plus haut.

A+
0
ppgm12 Messages postés 14 Date d'inscription mercredi 13 octobre 2010 Statut Membre Dernière intervention 26 mars 2013
22 oct. 2010 à 09:34
Merci,
Cela fonctionne vraiment a merveille

javascript:void(0);
Merci !?
0
Rejoignez-nous