Comment empêcher enregistrement sans macro sous Excel 2007

Le
Christophe
Bonjour:

J'ai un classeur excel avec un modules contenant plusieurs dizaines de
macros dand un module. Cette application excel est distribuée à de
nombreux utilisateurs en interne.

A deux reprises déjà, des utilisateurs m'ont indiqué que l'applicatio=
n
ne marchait plus. Je me suis rendu compte que bien que protégées par
un mot de passe les macros avaient disparu. Je pense que le classeur
qui était à l'origine enregistré au format 97-2003 a probablement é=

enregistré par des utilisateurs utilisant Excel 2007 dans un format
qui ne conserve pas les macros.

Comment empêcher les utilisateurs d'enregistrer ce classeur sous un
format sans macro y compris par inadvertance.

Remerciements et sincères salutations.

Christophe
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #16772561
Bonjour.
Excellente question. On peut le faire par macro, si l'utilisateur active les
macros...
Cordialement.
Daniel
"Christophe"
Bonjour:

J'ai un classeur excel avec un modules contenant plusieurs dizaines de
macros dand un module. Cette application excel est distribuée à de
nombreux utilisateurs en interne.

A deux reprises déjà, des utilisateurs m'ont indiqué que l'application
ne marchait plus. Je me suis rendu compte que bien que protégées par
un mot de passe les macros avaient disparu. Je pense que le classeur
qui était à l'origine enregistré au format 97-2003 a probablement été
enregistré par des utilisateurs utilisant Excel 2007 dans un format
qui ne conserve pas les macros.

Comment empêcher les utilisateurs d'enregistrer ce classeur sous un
format sans macro y compris par inadvertance.

Remerciements et sincères salutations.

Christophe
Christophe
Le #16772821
Bonjour:

Une idée de la macro à écrire.

Merci.

Christophe
Vincnet.
Le #16773211
Bonjour,
Il faut aller dans le module ThisWorkbook et utiliser l'événement
BeforeSave. Comme je n'ai pas (encore) XL2007, je ne peux pas te dire les
paramètres à passer, mais tu dois pouvoir forcer le paramètre qui détermine
l'enregistrement sans macro pour que l'enregistrement se fasse avec.
--
A+

V.


"Christophe" a écrit :

Bonjour:

Une idée de la macro à écrire.

Merci.

Christophe





Daniel.C
Le #16773411
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True
ThisWorkbook.Save
End Sub
Petit ennui, tu ne peux plus faire d'"Enregistrer sous".
Daniel
"Christophe"
Bonjour:

Une idée de la macro à écrire.

Merci.

Christophe
Vincnet.
Le #16773711
Sur l'idée de Daniel.C, mais avec possibilité d'utiliser SaveAs :
Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim strFilename
Application.EnableEvents = False
Cancel = True
If SaveAsUI Then
strFilename = Application.GetSaveAsFilename
If strFilename = False Then
ThisWorkbook.SaveAs strFilename, xlNormal
End If
Else
Application.DisplayAlerts = False
ThisWorkbook.SaveAs ThisWorkbook.FullName, xlNormal
Application.DisplayAlerts = True
End If
Application.EnableEvents = True
End Sub

--
A+

V.


"Daniel.C" a écrit :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True
ThisWorkbook.Save
End Sub
Petit ennui, tu ne peux plus faire d'"Enregistrer sous".
Daniel
"Christophe"
Bonjour:

Une idée de la macro à écrire.

Merci.

Christophe






Christophe
Le #16775161
Bonjour:

Merci à tous. Très très ingenieu.

Christophe
Publicité
Poster une réponse
Anonyme