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

Messages postés
14
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
26 mars 2013
- - Dernière réponse : 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 !?
Afficher la suite 

10 réponses

Meilleure réponse
Messages postés
26974
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 décembre 2019
318
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jordane45
Messages postés
26974
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 décembre 2019
318
0
Merci
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
Commenter la réponse de jordane45
Messages postés
14
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
26 mars 2013
0
Merci
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 !?
Commenter la réponse de ppgm12
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
8
Commenter la réponse de bigfish_le vrai
Messages postés
14
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
26 mars 2013
0
Merci
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 !?
Commenter la réponse de ppgm12
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
8
0
Merci
tu as quel version d'excel ?

A+
Commenter la réponse de bigfish_le vrai
Messages postés
14
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
26 mars 2013
0
Merci
Microsoft Excel 2003


javascript:void(0);
Merci !?
Commenter la réponse de ppgm12
Messages postés
14
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
26 mars 2013
0
Merci
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
Commenter la réponse de ppgm12
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
8
0
Merci
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+
Commenter la réponse de bigfish_le vrai
Messages postés
14
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
26 mars 2013
0
Merci
Merci,
Cela fonctionne vraiment a merveille

javascript:void(0);
Merci !?
Commenter la réponse de ppgm12