msgbox pour activer les macros

gilrennais

XLDnaute Nouveau
Bonjour à tous,
J'ai fait un tableau excel avec des macros, qui doivent être activées (bouton "activer les macros") à l'ouverture du fichier pour qu'elles fonctionnent.
Certains petits malins cliquent sur "désactiver les macros" pour contourner certaines saisies.
Comment faire pour envoyer un msgbox "vous devez activer les macros" puis un clic sur OK, pour obliger les gens à suivre le processus?
Merci
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : msgbox pour activer les macros

Bonjour gilrennais, et bienvenue sur le forum

Personnellement, je ferais d'une autre manière:
ma/mes feuilles seraient protégée(s) ce qui empècheraient de les modifier.

à l'ouverture du fichier, une macro évènementielle réaliserait la "déprotection"
.......... ce qui veut dire que si les macros n'ont pas été acceptées (activées) à l'ouverture du fichier, l'utilisateur sera dans l'impossibilité de faire quoi que ce soit

Ne pas oublier de REprotéger dans une procédure BeforeSave ou BeforeClose

Mais ne pas perdre de vue que n'importe quelle protection ne tient pas la route plus d'un quart de seconde pour qui s'y connait un peu

à+
Philippe
 

job75

XLDnaute Barbatruc
Re : msgbox pour activer les macros

Bonjour gilrennais, Philippe,

Autre solution avec des feuilles que l'on masque et démasque.

1) Créer une belle 1ère feuille (protégée+mot de passe) avec le texte :

LE FICHIER EST INDISPONIBLE QUAND LES MACROS SONT DESACTIVEES

2) Dans ThisWorkBook ces macros :

Code:
Private Sub Workbook_Open()
Dim i As Integer
For i = 2 To Sheets.Count
  Sheets(i).Visible = True 'affiche toutes les feuilles
Next
Sheets(1).Visible = xlVeryHidden 'masque la 1ère feuille
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Integer
Sheets(1).Visible = True 'affiche la 1ère feuille
For i = 2 To Sheets.Count
  Sheets(i).Visible = xlVeryHidden 'masque les autres feuilles
Next
ThisWorkbook.Save 'enregistre le fichier
End Sub

3) Dans VBA : menu Outils-Propriétés de VBAProject => Protection => mot de passe.

A+
 

gilrennais

XLDnaute Nouveau
Re : msgbox pour activer les macros

Merci Philippe,
Je débute dans les macros, j'en ai déjà fait quelques une, peut-être pas très élaborées, mais qui me conviennent, et qui facilitent le boulot de notre équipe.
Mais je ne sais pas encore ce qu'est une macro évènementielle.
Mon fichier comporte 12 feuilles, (une par mois), et nous avons des données à y rentrer.
Je veux juste forcer mes collègues à activer les macros que j'ai créees.
Peux-tu développer ton idée?
Merci
 

gilrennais

XLDnaute Nouveau
Re : msgbox pour activer les macros

Merci Job,
Je vais essayer ton idée, car je ne sais pas ce qu'est une macro évenementielle, comme me suggérait Philippe.
Petit soucis avec ton code: mon fichier comporte déjà 12 feuilles (une par mois), et dans ce cas, la 1ère saute évidemment.
Que dois-je modifier dans ton code pour par exemple faire ma page "alerte" en feuille 15?
Encore merci
 

gilrennais

XLDnaute Nouveau
Re : msgbox pour activer les macros

Exact, tu as raison, ça marche.
Je n'ai pas bien compris tout le "déroulé" de ton code, mais je vais m'y atteler pour bien comprendre et progresser.
Je vais pouvoir avancer, l'idée suivante est d'empêcher de coller dans certaines colonnes des mots copiés dans un autre fichier.
Autrement dit, empêcher le ctrl+V, ou le "édition+coller".

Encore merci pour ta rapidité
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : msgbox pour activer les macros

Bonjour à tous,

Mais je ne sais pas encore ce qu'est une macro évènementielle.
C'est une macro qui se déclenche suite à un évènement; par exemple:
suite à un clic dans une cellule **
suite à un double-clic dans une cellule **
suite à un clic-droit dans une cellule **

** ( n'importe laquelle ou dans une cellule ou zone de cellules bien définie)
l'idée suivante est d'empêcher de coller dans certaines colonnes des mots copiés dans un autre fichier.
Autrement dit, empêcher le ctrl+V, ou le "édition+coller".
en faisant une recherche sur le forum tu trouveras le moyen d'empêcher les copier/coller
voir sur ce lien............ mais il y en a d'autres
https://www.excel-downloads.com/threads/empecher-le-copier-coller-dans-une-zone.136313/
à+
Philippe
 
Dernière édition:

gilrennais

XLDnaute Nouveau
Re : msgbox pour activer les macros

Bonjour Philippe,
Comme tu as dû le voir, j'ai bien réussi à créer 2 macros qui fonctionnent, mais chacune dans un fichier Excel.
Pas moyen de faire fonctionner les 2 ensemble dans le même fichier.
Seule la premiere, qui oblige à activer les macros fonctionne (elle est dans This workbook).
La 2eme, qui interdit les Coller, CTRL... et qui se trouve dans un module de base, ne fonctionne pas.
Pas de réponse du forum, sauf de Tototiti2008, celà n'a pas l'air si simple que celà.
Gil
 

Discussions similaires

Statistiques des forums

Discussions
312 523
Messages
2 089 318
Membres
104 119
dernier inscrit
karbone57