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

Signaler
Messages postés
14
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
26 mars 2013
-
ppgm12
Messages postés
14
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
26 mars 2013
-
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

Messages postés
27620
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2020
323
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
Messages postés
27620
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2020
323
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
Messages postés
14
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
26 mars 2013

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 !?
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
Messages postés
14
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
26 mars 2013

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 !?
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
tu as quel version d'excel ?

A+
Messages postés
14
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
26 mars 2013

Microsoft Excel 2003


javascript:void(0);
Merci !?
Messages postés
14
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
26 mars 2013

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
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
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+
Messages postés
14
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
26 mars 2013

Merci,
Cela fonctionne vraiment a merveille

javascript:void(0);
Merci !?