XL VBA "Sécurité"
Résolu
fabien25000
Messages postés
673
Date d'inscription
Statut
Membre
Dernière intervention
-
fabien25000 Messages postés 673 Date d'inscription Statut Membre Dernière intervention -
fabien25000 Messages postés 673 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je reviens vers vous à la suite du poste ci dessous qui date de l'année dernière
https://forums.commentcamarche.net/forum/affich-34839603-information-securite-mots-de-passe-feuilles-classeur-et-vba
pour ceux qui ne veulent pas tout lire je cherchais à sécuriser un fichier et cs_Le Pivert m'a généreusement fournit quelques exemples de code.
Mon problème c'est que j'ai essayé de m'en servir et que depuis toutes mes procedures sont systématiquement interrompues et je n'arrive pas à rétablir ce phénomène
J'ai essayé de trouver les ordres contraires sans grand succès, j'ai contrôlé les options excel mais rien n'y fait..
voici le code utilisé :
Merci d'avance pour vos conseils avisés
Je reviens vers vous à la suite du poste ci dessous qui date de l'année dernière
https://forums.commentcamarche.net/forum/affich-34839603-information-securite-mots-de-passe-feuilles-classeur-et-vba
pour ceux qui ne veulent pas tout lire je cherchais à sécuriser un fichier et cs_Le Pivert m'a généreusement fournit quelques exemples de code.
Mon problème c'est que j'ai essayé de m'en servir et que depuis toutes mes procedures sont systématiquement interrompues et je n'arrive pas à rétablir ce phénomène
J'ai essayé de trouver les ordres contraires sans grand succès, j'ai contrôlé les options excel mais rien n'y fait..
voici le code utilisé :
Private Sub Workbook_BeforeClose(Cancel As Boolean) ' 'on rétabli à la fermeture ThisWorkbook.IsAddin = True 'et à la fin de ta macro : remettre raccourci clavier Ctrl Pause Application.EnableCancelKey = xlInterrupt 'Ou xlErrorHandler End Sub Private Sub Workbook_Open() Dim tmpmsgbx As Integer ''empêcher l'affichage d'un classeur s'il est ouvert alors que l'exécution ''des macros est désactivée dans les options de sécurité ThisWorkbook.IsAddin = True ''au début de ta macro Application.EnableCancelKey = xlDisabled 'empeche raccourci clavier Ctrl Pause Names("EditDevis").Visible = False Worksheets("BDD devis").Visible = 0 Worksheets("Statistiques").Visible = 0 Worksheets("bddCPVA").Visible = 0 Worksheets("tmptarif").Visible = 0 Worksheets("Fiche Contact").Visible = 0 Worksheets("PERGOLA VERANDA").Visible = 1 Worksheets("PERGOLA VERANDA").Activate ActiveWindow.DisplayHeadings = False ActiveWindow.DisplayGridlines = False Application.DisplayFormulaBar = False tmpmsgbx = MsgBox("Merci de vous assurer de ne pas avoir d'autre fichier Excel ouvert" & vbCrLf & vbCrLf & _ "Assurez vous d'enregistrer et fermer vos différents fichiers Excel avant de lancer l'aplication de chiffrage XXX", vbCritical + vbOKCancel, "XXX") If tmpmsgbx = vbOK Then Application.WindowState = xlMinimized Application.Visible = False ufLoggin.Show 0 Else ThisWorkbook.Close savechanges:=False End If End Sub
Merci d'avance pour vos conseils avisés
A voir également:
- XL VBA "Sécurité"
- Question de sécurité - Guide
- Votre appareil ne dispose pas des correctifs de qualité et de sécurité importants - Guide
- Mode securite - Guide
- Xl comparator - Télécharger - Tableur
- Clé de sécurité windows 10 gratuit - Guide
1 réponse
Bonjour,
a la place de cela
il faut mettre
par ailleurs, je n'ai jamais vu cela:
A consulter:
https://silkyroad.developpez.com/VBA/FeuilleDeCalcul/
a la place de cela
Private Sub Workbook_Open() Dim tmpmsgbx As Integer ''empêcher l'affichage d'un classeur s'il est ouvert alors que l'exécution ''des macros est désactivée dans les options de sécurité ThisWorkbook.IsAddin = True
il faut mettre
Private Sub Workbook_Open() Dim tmpmsgbx As Integer ''empêcher l'affichage d'un classeur s'il est ouvert alors que l'exécution ''des macros est désactivée dans les options de sécurité ThisWorkbook.IsAddin = False
par ailleurs, je n'ai jamais vu cela:
Names("EditDevis").Visible = False
A consulter:
https://silkyroad.developpez.com/VBA/FeuilleDeCalcul/
je n'ai pas bien compris d'ou venait le problème mais je l'ai résolu en supprimant ce passage, redémarrer l'ordi et re copier ton code..
J'ai sûrement fait une erreur hier soir..
@cs_Le Pivert J'essaye de comprendre ton deuxième fichier "protection vbaproject" pour l'adapter également..
Encore merci pour ces deux fichiers !
J'ai d'ailleurs une autre question : je travail sur ce fichier avec
ça fonctionne très bien mais si le commercial ouvre un autre fichier excel alors que mon application est en route, ça a le même effet que si j'écrivais :
y a t'il un moyen de contrer cela?
https://excel-malin.com/codes-sources-vba/vba-verifier-si-un-classeur-est-ouvert/
cela necessite l'emploi d'un timer qui va relancer la macro toutes les x secondes, ce qui est contraignant. Il vaut mieux faire l'opération manuellement
@+ Le Pivert
Je détailles :
le fichier excel que j'ai créé sert à nos commerciaux à faire des devis en direct avec les clients
une fois arrivé à l'étape du budget ils peuvent avoir besoin de Cetelem et il s'avère que c'est aussi un fichier excel
si ils ouvrent le fichier de financement ca rend mon classeur de devis visible et accessible et le plus ennuyant : modifiable
le fichier de financement est bien sûr verrouillé de partout donc impossible d'y ajouter une macro or si j'ai bien compris c'est dans ce classeur qu'il faudrait entrer la fonction "si ouvert" et si je redonne l'ordre minimised et visible=false ça va également cacher cetelem non?
en écrivant une interrogation me vient : ne peut on pas avoir le même résultat avec une commande sur thisworkbook?
"
c'est pourtant tiré de ta méthode, cacher le mot de passe dans le gestionnaire de noms
tu peux mettre dans ThisWorkbook ce code:
Pour y avoir accès de nouveau, il suffit de cliquer sur l'icone dans la barre de tâche
Voilà
@+ Le Pivert