Empêcher copier/coller vers un autre classeur ou une autre application
30 réponses
renroy
Bonjour =E0 tous,
Je fais appel =E0 vos lumi=E8res et vos solutions parfois g=E9niales =E0 de=
s
probl=E8mes pointilleux.
J'ai un classeur Excel comportant quelques onglets d'information et
que je souhaite rendre disponible =E0 un utilisateur. Je souhaite
permettre =E0 cet utilisateur de compl=E9ter l'information des onglets
existants s'il le souhaite mais je ne veux pas lui permettre de copier
l'information vers un autre classeur ou vers une autre application
(par exemple: Word, Bloc-Note, etc.). Est-ce possible ?
J'ai ins=E9r=E9 une macro vba dans l'objet ThisWorkbook qui semble bien
emp=EAcher de copier vers un autre classeur tout en permettant de copier-
coller d'un autre classeur vers le mien:
Private Sub Workbook_Deactivate()
'Pour interdire le collage suite =E0 une copie venant du classeur vers
un autre classeur
Application.CutCopyMode =3D False
End Sub
Mon probl=E8me est que rien n'emp=EAche l'utilisateur de copier vers Word
ou le Bloc-note et ensuite de copier de Word ou Bloc-note vers un
nouveau classeur Excel.
1- J'ai lu quelque part que Application.CutCopyMode=3DFalse ou
Application.CutCopyMode=3DTrue =E9quivaut =E0 l'appui sur la touche Echap
(annulation du mode Copier ou Coller, disparition des pointill=E9s).
Quelle est la diff=E9rence entre les deux puisque False et True ont le
m=EAme effet ?
2- Existe-t'il une fa=E7on universelle (applicable peu importe la
version d'Excel) de vider le presse-papier au moment de basculer
d'Excel vers une autre application ?
3- Workbook_Deactivate() ne semble d=E9tecter que la bascule entre
classeurs. Comment peut-on d=E9tecter la bascule entre Excel et une
autre application ?
Merci =E0 l'avance pour vos pr=E9cieuses suggestions.
Je ne sais pas vraiment. J'ai inséré les lignes On error ... et Application ... sous Sub Workbook_WindowDeactivate(ByVal Wn As Window) mais c'est comme si la routine ne s'exécutait pas :(
René
On 3 fév, 11:37, isabelle wrote:
et avec la commande xl4 ?
Sub vide_Clipboard() On Error Resume Next Application.CommandBars("Clipboard").Controls(4).Execute End Sub
isabelle
Le 2011-02-03 11:31, DanielCo a écrit :
> Pas mieux, apparemment. > Daniel
>> bonjour Daniel,
>> peut tu essayer celle-ci,
>> Private Declare Function OpenClipboard Lib "user32" _ >> (ByVal hwnd As Long) As Long >> Private Declare Function EmptyClipboard Lib "user32" () As Long >> Private Declare Function CloseClipboard Lib "user32" () As Long
>> Sub Vider_Presse_Papier() >> OpenClipboard 0 >> EmptyClipboard >> CloseClipboard >> End Sub
>> isabelle
>> Le 2011-02-03 10:58, news.free.fr a écrit : >>> Bonjour Isabelle, >>> Je crois que ça ne fonctionne plus depuis XL2007. >>> Daniel- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Je ne sais pas vraiment. J'ai inséré les lignes On error ... et
Application ... sous Sub Workbook_WindowDeactivate(ByVal Wn As Window)
mais c'est comme si la routine ne s'exécutait pas :(
René
On 3 fév, 11:37, isabelle <i...@v.org> wrote:
et avec la commande xl4 ?
Sub vide_Clipboard()
On Error Resume Next
Application.CommandBars("Clipboard").Controls(4).Execute
End Sub
isabelle
Le 2011-02-03 11:31, DanielCo a écrit :
> Pas mieux, apparemment.
> Daniel
>> bonjour Daniel,
>> peut tu essayer celle-ci,
>> Private Declare Function OpenClipboard Lib "user32" _
>> (ByVal hwnd As Long) As Long
>> Private Declare Function EmptyClipboard Lib "user32" () As Long
>> Private Declare Function CloseClipboard Lib "user32" () As Long
>> Sub Vider_Presse_Papier()
>> OpenClipboard 0
>> EmptyClipboard
>> CloseClipboard
>> End Sub
>> isabelle
>> Le 2011-02-03 10:58, news.free.fr a écrit :
>>> Bonjour Isabelle,
>>> Je crois que ça ne fonctionne plus depuis XL2007.
>>> Daniel- Masquer le texte des messages précédents -
Je ne sais pas vraiment. J'ai inséré les lignes On error ... et Application ... sous Sub Workbook_WindowDeactivate(ByVal Wn As Window) mais c'est comme si la routine ne s'exécutait pas :(
René
On 3 fév, 11:37, isabelle wrote:
et avec la commande xl4 ?
Sub vide_Clipboard() On Error Resume Next Application.CommandBars("Clipboard").Controls(4).Execute End Sub
isabelle
Le 2011-02-03 11:31, DanielCo a écrit :
> Pas mieux, apparemment. > Daniel
>> bonjour Daniel,
>> peut tu essayer celle-ci,
>> Private Declare Function OpenClipboard Lib "user32" _ >> (ByVal hwnd As Long) As Long >> Private Declare Function EmptyClipboard Lib "user32" () As Long >> Private Declare Function CloseClipboard Lib "user32" () As Long
>> Sub Vider_Presse_Papier() >> OpenClipboard 0 >> EmptyClipboard >> CloseClipboard >> End Sub
>> isabelle
>> Le 2011-02-03 10:58, news.free.fr a écrit : >>> Bonjour Isabelle, >>> Je crois que ça ne fonctionne plus depuis XL2007. >>> Daniel- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
news.free.fr
Il faut que tu coches MS Forms dans les références de VBVE. Daniel
Bonjour Isabelle,
Merci de ton intervention ;-)
Tel que soulevé par Daniel, le code que tu suggère ci-après génère une erreur de compilation "Type défini par l'utilisateur non défini" lorsqu'appliqué dans Excel 2010.
René
Il faut que tu coches MS Forms dans les références de VBVE.
Daniel
Bonjour Isabelle,
Merci de ton intervention ;-)
Tel que soulevé par Daniel, le code que tu suggère ci-après génère une
erreur de compilation "Type défini par l'utilisateur non défini"
lorsqu'appliqué dans Excel 2010.
Il faut que tu coches MS Forms dans les références de VBVE. Daniel
Bonjour Isabelle,
Merci de ton intervention ;-)
Tel que soulevé par Daniel, le code que tu suggère ci-après génère une erreur de compilation "Type défini par l'utilisateur non défini" lorsqu'appliqué dans Excel 2010.
René
DanielCo
Excuse. Je voulais dire les références de la fenêtre VBE (Outils, Références). Daniel
Il faut que tu coches MS Forms dans les références de VBVE. Daniel
Bonjour Isabelle,
Merci de ton intervention ;-)
Tel que soulevé par Daniel, le code que tu suggère ci-après génère une erreur de compilation "Type défini par l'utilisateur non défini" lorsqu'appliqué dans Excel 2010.
René
Excuse. Je voulais dire les références de la fenêtre VBE (Outils,
Références).
Daniel
Il faut que tu coches MS Forms dans les références de VBVE.
Daniel
Bonjour Isabelle,
Merci de ton intervention ;-)
Tel que soulevé par Daniel, le code que tu suggère ci-après génère une
erreur de compilation "Type défini par l'utilisateur non défini"
lorsqu'appliqué dans Excel 2010.
Excuse. Je voulais dire les références de la fenêtre VBE (Outils, Références). Daniel
Il faut que tu coches MS Forms dans les références de VBVE. Daniel
Bonjour Isabelle,
Merci de ton intervention ;-)
Tel que soulevé par Daniel, le code que tu suggère ci-après génère une erreur de compilation "Type défini par l'utilisateur non défini" lorsqu'appliqué dans Excel 2010.
René
DanielCo
??? Si tu veux utiliser Workbook_Deactivate ? Daniel
Bonjour Daniel,
Un homme averti en vaut deux. Merci! Cependant, je n'ai pas besoin de tout interdire ni d'obliger l'activation des macros :)
René
On 3 fév, 10:51, DanielCo wrote:
Bonjour. Et aussi, comment interdire l'impression, l'envoi par messagerie et la copie d'écran, et comment obliger l'activation des macros... C'est perdu d'avance. Cordialement. Daniel
???
Si tu veux utiliser Workbook_Deactivate ?
Daniel
Bonjour Daniel,
Un homme averti en vaut deux. Merci! Cependant, je n'ai pas besoin de
tout interdire ni d'obliger l'activation des macros :)
René
On 3 fév, 10:51, DanielCo <dcolardelle...@free.fr> wrote:
Bonjour.
Et aussi, comment interdire l'impression, l'envoi par messagerie et la
copie d'écran, et comment obliger l'activation des macros... C'est
perdu d'avance.
Cordialement.
Daniel
??? Si tu veux utiliser Workbook_Deactivate ? Daniel
Bonjour Daniel,
Un homme averti en vaut deux. Merci! Cependant, je n'ai pas besoin de tout interdire ni d'obliger l'activation des macros :)
René
On 3 fév, 10:51, DanielCo wrote:
Bonjour. Et aussi, comment interdire l'impression, l'envoi par messagerie et la copie d'écran, et comment obliger l'activation des macros... C'est perdu d'avance. Cordialement. Daniel
renroy
Non. Je veux dire l'activation des macros n'est pas un problème pour moi dans ce cas. C'est un peu long à expliquer mais j'ai imaginé un workaround par l'utilisation d'un classeur secondaire qui sert de validation, un peu comme une licence d'utilisation. Par défaut, le classeur principal est protégé et les onglets intéressants pour l'utilisateur sont masqués. Pour les visualiser, il n'a d'autre choix que d'activer les macros. Dès que c'est fait, une macro du classeur principal vérifie l'existence du classeur secondaire et des paramètres de celui-ci autorise et automatise l'affichage des onglets concernés. Voila. Je ne sais pas si je suis clair ... mais çà fonctionne ;-)
René
On 3 fév, 11:53, DanielCo wrote:
??? Si tu veux utiliser Workbook_Deactivate ? Daniel
> Bonjour Daniel,
> Un homme averti en vaut deux. Merci! Cependant, je n'ai pas besoin de > tout interdire ni d'obliger l'activation des macros :)
> Ren
> On 3 f v, 10:51, DanielCo wrote: >> Bonjour. >> Et aussi, comment interdire l'impression, l'envoi par messagerie et la >> copie d' cran, et comment obliger l'activation des macros... C'est >> perdu d'avance. >> Cordialement. >> Daniel- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Non. Je veux dire l'activation des macros n'est pas un problème pour
moi dans ce cas. C'est un peu long à expliquer mais j'ai imaginé un
workaround par l'utilisation d'un classeur secondaire qui sert de
validation, un peu comme une licence d'utilisation. Par défaut, le
classeur principal est protégé et les onglets intéressants pour
l'utilisateur sont masqués. Pour les visualiser, il n'a d'autre choix
que d'activer les macros. Dès que c'est fait, une macro du classeur
principal vérifie l'existence du classeur secondaire et des paramètres
de celui-ci autorise et automatise l'affichage des onglets concernés.
Voila. Je ne sais pas si je suis clair ... mais çà fonctionne ;-)
René
On 3 fév, 11:53, DanielCo <dcolardelle...@free.fr> wrote:
???
Si tu veux utiliser Workbook_Deactivate ?
Daniel
> Bonjour Daniel,
> Un homme averti en vaut deux. Merci! Cependant, je n'ai pas besoin de
> tout interdire ni d'obliger l'activation des macros :)
> Ren
> On 3 f v, 10:51, DanielCo <dcolardelle...@free.fr> wrote:
>> Bonjour.
>> Et aussi, comment interdire l'impression, l'envoi par messagerie et la
>> copie d' cran, et comment obliger l'activation des macros... C'est
>> perdu d'avance.
>> Cordialement.
>> Daniel- Masquer le texte des messages précédents -
Non. Je veux dire l'activation des macros n'est pas un problème pour moi dans ce cas. C'est un peu long à expliquer mais j'ai imaginé un workaround par l'utilisation d'un classeur secondaire qui sert de validation, un peu comme une licence d'utilisation. Par défaut, le classeur principal est protégé et les onglets intéressants pour l'utilisateur sont masqués. Pour les visualiser, il n'a d'autre choix que d'activer les macros. Dès que c'est fait, une macro du classeur principal vérifie l'existence du classeur secondaire et des paramètres de celui-ci autorise et automatise l'affichage des onglets concernés. Voila. Je ne sais pas si je suis clair ... mais çà fonctionne ;-)
René
On 3 fév, 11:53, DanielCo wrote:
??? Si tu veux utiliser Workbook_Deactivate ? Daniel
> Bonjour Daniel,
> Un homme averti en vaut deux. Merci! Cependant, je n'ai pas besoin de > tout interdire ni d'obliger l'activation des macros :)
> Ren
> On 3 f v, 10:51, DanielCo wrote: >> Bonjour. >> Et aussi, comment interdire l'impression, l'envoi par messagerie et la >> copie d' cran, et comment obliger l'activation des macros... C'est >> perdu d'avance. >> Cordialement. >> Daniel- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
isabelle
bonjour René,
tu as peut être désactivé les événements, execute cette macro pour être sur qu'ils soient actif,
Sub Événemets_Actif() Application.EnableEvents = True End Sub
isabelle
Le 2011-02-03 11:49, renroy a écrit :
Je ne sais pas vraiment. J'ai inséré les lignes On error ... et Application ... sous Sub Workbook_WindowDeactivate(ByVal Wn As Window) mais c'est comme si la routine ne s'exécutait pas :(
René
On 3 fév, 11:37, isabelle wrote:
et avec la commande xl4 ?
Sub vide_Clipboard() On Error Resume Next Application.CommandBars("Clipboard").Controls(4).Execute End Sub
isabelle
Le 2011-02-03 11:31, DanielCo a écrit :
Pas mieux, apparemment. Daniel
bonjour Daniel,
peut tu essayer celle-ci,
Private Declare Function OpenClipboard Lib "user32" _ (ByVal hwnd As Long) As Long Private Declare Function EmptyClipboard Lib "user32" () As Long Private Declare Function CloseClipboard Lib "user32" () As Long
Sub Vider_Presse_Papier() OpenClipboard 0 EmptyClipboard CloseClipboard End Sub
isabelle
Le 2011-02-03 10:58, news.free.fr a écrit :
Bonjour Isabelle, Je crois que ça ne fonctionne plus depuis XL2007. Daniel- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
bonjour René,
tu as peut être désactivé les événements, execute cette macro pour être
sur qu'ils soient actif,
Sub Événemets_Actif()
Application.EnableEvents = True
End Sub
isabelle
Le 2011-02-03 11:49, renroy a écrit :
Je ne sais pas vraiment. J'ai inséré les lignes On error ... et
Application ... sous Sub Workbook_WindowDeactivate(ByVal Wn As Window)
mais c'est comme si la routine ne s'exécutait pas :(
René
On 3 fév, 11:37, isabelle<i...@v.org> wrote:
et avec la commande xl4 ?
Sub vide_Clipboard()
On Error Resume Next
Application.CommandBars("Clipboard").Controls(4).Execute
End Sub
isabelle
Le 2011-02-03 11:31, DanielCo a écrit :
Pas mieux, apparemment.
Daniel
bonjour Daniel,
peut tu essayer celle-ci,
Private Declare Function OpenClipboard Lib "user32" _
(ByVal hwnd As Long) As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
Sub Vider_Presse_Papier()
OpenClipboard 0
EmptyClipboard
CloseClipboard
End Sub
isabelle
Le 2011-02-03 10:58, news.free.fr a écrit :
Bonjour Isabelle,
Je crois que ça ne fonctionne plus depuis XL2007.
Daniel- Masquer le texte des messages précédents -
tu as peut être désactivé les événements, execute cette macro pour être sur qu'ils soient actif,
Sub Événemets_Actif() Application.EnableEvents = True End Sub
isabelle
Le 2011-02-03 11:49, renroy a écrit :
Je ne sais pas vraiment. J'ai inséré les lignes On error ... et Application ... sous Sub Workbook_WindowDeactivate(ByVal Wn As Window) mais c'est comme si la routine ne s'exécutait pas :(
René
On 3 fév, 11:37, isabelle wrote:
et avec la commande xl4 ?
Sub vide_Clipboard() On Error Resume Next Application.CommandBars("Clipboard").Controls(4).Execute End Sub
isabelle
Le 2011-02-03 11:31, DanielCo a écrit :
Pas mieux, apparemment. Daniel
bonjour Daniel,
peut tu essayer celle-ci,
Private Declare Function OpenClipboard Lib "user32" _ (ByVal hwnd As Long) As Long Private Declare Function EmptyClipboard Lib "user32" () As Long Private Declare Function CloseClipboard Lib "user32" () As Long
Sub Vider_Presse_Papier() OpenClipboard 0 EmptyClipboard CloseClipboard End Sub
isabelle
Le 2011-02-03 10:58, news.free.fr a écrit :
Bonjour Isabelle, Je crois que ça ne fonctionne plus depuis XL2007. Daniel- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
isabelle
il faut ajouter la référence la référence à Microsoft Forms 2.0 Library
isabelle
Le 2011-02-03 11:40, renroy a écrit :
Bonjour Isabelle,
Merci de ton intervention ;-)
Tel que soulevé par Daniel, le code que tu suggère ci-après génère une erreur de compilation "Type défini par l'utilisateur non défini" lorsqu'appliqué dans Excel 2010.
René
On 3 fév, 10:49, isabelle wrote:
bonjour René,
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window) Dim oDataObject As DataObject Set oDataObject = New DataObject oDataObject.SetText "" oDataObject.PutInClipboard Set oDataObject = Nothing End Sub
isabelle
il faut ajouter la référence la référence à Microsoft Forms 2.0 Library
isabelle
Le 2011-02-03 11:40, renroy a écrit :
Bonjour Isabelle,
Merci de ton intervention ;-)
Tel que soulevé par Daniel, le code que tu suggère ci-après génère une
erreur de compilation "Type défini par l'utilisateur non défini"
lorsqu'appliqué dans Excel 2010.
René
On 3 fév, 10:49, isabelle<i...@v.org> wrote:
bonjour René,
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Dim oDataObject As DataObject
Set oDataObject = New DataObject
oDataObject.SetText ""
oDataObject.PutInClipboard
Set oDataObject = Nothing
End Sub
il faut ajouter la référence la référence à Microsoft Forms 2.0 Library
isabelle
Le 2011-02-03 11:40, renroy a écrit :
Bonjour Isabelle,
Merci de ton intervention ;-)
Tel que soulevé par Daniel, le code que tu suggère ci-après génère une erreur de compilation "Type défini par l'utilisateur non défini" lorsqu'appliqué dans Excel 2010.
René
On 3 fév, 10:49, isabelle wrote:
bonjour René,
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window) Dim oDataObject As DataObject Set oDataObject = New DataObject oDataObject.SetText "" oDataObject.PutInClipboard Set oDataObject = Nothing End Sub
isabelle
DanielCo
C'est un vieux débat, ici. Depuis un classeur externe, avec une macro, je peux afficher toutes les feuilles du classeur principal, sans activer les macros sur celui-ci. Daniel
Non. Je veux dire l'activation des macros n'est pas un problème pour moi dans ce cas. C'est un peu long à expliquer mais j'ai imaginé un workaround par l'utilisation d'un classeur secondaire qui sert de validation, un peu comme une licence d'utilisation. Par défaut, le classeur principal est protégé et les onglets intéressants pour l'utilisateur sont masqués. Pour les visualiser, il n'a d'autre choix que d'activer les macros. Dès que c'est fait, une macro du classeur principal vérifie l'existence du classeur secondaire et des paramètres de celui-ci autorise et automatise l'affichage des onglets concernés. Voila. Je ne sais pas si je suis clair ... mais çà fonctionne ;-)
René
On 3 fév, 11:53, DanielCo wrote:
??? Si tu veux utiliser Workbook_Deactivate ? Daniel
Bonjour Daniel,
Un homme averti en vaut deux. Merci! Cependant, je n'ai pas besoin de tout interdire ni d'obliger l'activation des macros :) Ren
On 3 f v, 10:51, DanielCo wrote:
Bonjour. Et aussi, comment interdire l'impression, l'envoi par messagerie et la copie d' cran, et comment obliger l'activation des macros... C'est perdu d'avance. Cordialement. Daniel- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
C'est un vieux débat, ici. Depuis un classeur externe, avec une macro,
je peux afficher toutes les feuilles du classeur principal, sans
activer les macros sur celui-ci.
Daniel
Non. Je veux dire l'activation des macros n'est pas un problème pour
moi dans ce cas. C'est un peu long à expliquer mais j'ai imaginé un
workaround par l'utilisation d'un classeur secondaire qui sert de
validation, un peu comme une licence d'utilisation. Par défaut, le
classeur principal est protégé et les onglets intéressants pour
l'utilisateur sont masqués. Pour les visualiser, il n'a d'autre choix
que d'activer les macros. Dès que c'est fait, une macro du classeur
principal vérifie l'existence du classeur secondaire et des paramètres
de celui-ci autorise et automatise l'affichage des onglets concernés.
Voila. Je ne sais pas si je suis clair ... mais çà fonctionne ;-)
René
On 3 fév, 11:53, DanielCo <dcolardelle...@free.fr> wrote:
???
Si tu veux utiliser Workbook_Deactivate ?
Daniel
Bonjour Daniel,
Un homme averti en vaut deux. Merci! Cependant, je n'ai pas besoin de
tout interdire ni d'obliger l'activation des macros :)
Ren
On 3 f v, 10:51, DanielCo <dcolardelle...@free.fr> wrote:
Bonjour.
Et aussi, comment interdire l'impression, l'envoi par messagerie et la
copie d' cran, et comment obliger l'activation des macros... C'est
perdu d'avance.
Cordialement.
Daniel- Masquer le texte des messages précédents -
C'est un vieux débat, ici. Depuis un classeur externe, avec une macro, je peux afficher toutes les feuilles du classeur principal, sans activer les macros sur celui-ci. Daniel
Non. Je veux dire l'activation des macros n'est pas un problème pour moi dans ce cas. C'est un peu long à expliquer mais j'ai imaginé un workaround par l'utilisation d'un classeur secondaire qui sert de validation, un peu comme une licence d'utilisation. Par défaut, le classeur principal est protégé et les onglets intéressants pour l'utilisateur sont masqués. Pour les visualiser, il n'a d'autre choix que d'activer les macros. Dès que c'est fait, une macro du classeur principal vérifie l'existence du classeur secondaire et des paramètres de celui-ci autorise et automatise l'affichage des onglets concernés. Voila. Je ne sais pas si je suis clair ... mais çà fonctionne ;-)
René
On 3 fév, 11:53, DanielCo wrote:
??? Si tu veux utiliser Workbook_Deactivate ? Daniel
Bonjour Daniel,
Un homme averti en vaut deux. Merci! Cependant, je n'ai pas besoin de tout interdire ni d'obliger l'activation des macros :) Ren
On 3 f v, 10:51, DanielCo wrote:
Bonjour. Et aussi, comment interdire l'impression, l'envoi par messagerie et la copie d' cran, et comment obliger l'activation des macros... C'est perdu d'avance. Cordialement. Daniel- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
isabelle
bonjour René,
tu peut aussi protéger la feuille en interdisant tout (même la sélection) mais comme disait Daniel cela n'empeche pas la copie d'écran
isabelle
Le 2011-02-03 12:04, renroy a écrit :
Non. Je veux dire l'activation des macros n'est pas un problème pour moi dans ce cas. C'est un peu long à expliquer mais j'ai imaginé un workaround par l'utilisation d'un classeur secondaire qui sert de validation, un peu comme une licence d'utilisation. Par défaut, le classeur principal est protégé et les onglets intéressants pour l'utilisateur sont masqués. Pour les visualiser, il n'a d'autre choix que d'activer les macros. Dès que c'est fait, une macro du classeur principal vérifie l'existence du classeur secondaire et des paramètres de celui-ci autorise et automatise l'affichage des onglets concernés. Voila. Je ne sais pas si je suis clair ... mais çà fonctionne ;-)
René
On 3 fév, 11:53, DanielCo wrote:
??? Si tu veux utiliser Workbook_Deactivate ? Daniel
Bonjour Daniel,
Un homme averti en vaut deux. Merci! Cependant, je n'ai pas besoin de tout interdire ni d'obliger l'activation des macros :)
Ren
On 3 f v, 10:51, DanielCo wrote:
Bonjour. Et aussi, comment interdire l'impression, l'envoi par messagerie et la copie d' cran, et comment obliger l'activation des macros... C'est perdu d'avance. Cordialement. Daniel- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
bonjour René,
tu peut aussi protéger la feuille en interdisant tout (même la sélection)
mais comme disait Daniel cela n'empeche pas la copie d'écran
isabelle
Le 2011-02-03 12:04, renroy a écrit :
Non. Je veux dire l'activation des macros n'est pas un problème pour
moi dans ce cas. C'est un peu long à expliquer mais j'ai imaginé un
workaround par l'utilisation d'un classeur secondaire qui sert de
validation, un peu comme une licence d'utilisation. Par défaut, le
classeur principal est protégé et les onglets intéressants pour
l'utilisateur sont masqués. Pour les visualiser, il n'a d'autre choix
que d'activer les macros. Dès que c'est fait, une macro du classeur
principal vérifie l'existence du classeur secondaire et des paramètres
de celui-ci autorise et automatise l'affichage des onglets concernés.
Voila. Je ne sais pas si je suis clair ... mais çà fonctionne ;-)
René
On 3 fév, 11:53, DanielCo<dcolardelle...@free.fr> wrote:
???
Si tu veux utiliser Workbook_Deactivate ?
Daniel
Bonjour Daniel,
Un homme averti en vaut deux. Merci! Cependant, je n'ai pas besoin de
tout interdire ni d'obliger l'activation des macros :)
Ren
On 3 f v, 10:51, DanielCo<dcolardelle...@free.fr> wrote:
Bonjour.
Et aussi, comment interdire l'impression, l'envoi par messagerie et la
copie d' cran, et comment obliger l'activation des macros... C'est
perdu d'avance.
Cordialement.
Daniel- Masquer le texte des messages précédents -
tu peut aussi protéger la feuille en interdisant tout (même la sélection) mais comme disait Daniel cela n'empeche pas la copie d'écran
isabelle
Le 2011-02-03 12:04, renroy a écrit :
Non. Je veux dire l'activation des macros n'est pas un problème pour moi dans ce cas. C'est un peu long à expliquer mais j'ai imaginé un workaround par l'utilisation d'un classeur secondaire qui sert de validation, un peu comme une licence d'utilisation. Par défaut, le classeur principal est protégé et les onglets intéressants pour l'utilisateur sont masqués. Pour les visualiser, il n'a d'autre choix que d'activer les macros. Dès que c'est fait, une macro du classeur principal vérifie l'existence du classeur secondaire et des paramètres de celui-ci autorise et automatise l'affichage des onglets concernés. Voila. Je ne sais pas si je suis clair ... mais çà fonctionne ;-)
René
On 3 fév, 11:53, DanielCo wrote:
??? Si tu veux utiliser Workbook_Deactivate ? Daniel
Bonjour Daniel,
Un homme averti en vaut deux. Merci! Cependant, je n'ai pas besoin de tout interdire ni d'obliger l'activation des macros :)
Ren
On 3 f v, 10:51, DanielCo wrote:
Bonjour. Et aussi, comment interdire l'impression, l'envoi par messagerie et la copie d' cran, et comment obliger l'activation des macros... C'est perdu d'avance. Cordialement. Daniel- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
renroy
Daniel,
Je comprend et je suis conscient que ma solution n'est pas à toute épreuve. Disons que je me contente d'une solution à l'épreuve des utilisateurs "ordinaires" ayant peu ou pas de connaissance VBA.
René
On 3 fév, 12:18, DanielCo wrote:
C'est un vieux débat, ici. Depuis un classeur externe, avec une macro, je peux afficher toutes les feuilles du classeur principal, sans activer les macros sur celui-ci. Daniel
Daniel,
Je comprend et je suis conscient que ma solution n'est pas à toute
épreuve. Disons que je me contente d'une solution à l'épreuve des
utilisateurs "ordinaires" ayant peu ou pas de connaissance VBA.
René
On 3 fév, 12:18, DanielCo <dcolardelle...@free.fr> wrote:
C'est un vieux débat, ici. Depuis un classeur externe, avec une macro,
je peux afficher toutes les feuilles du classeur principal, sans
activer les macros sur celui-ci.
Daniel
Je comprend et je suis conscient que ma solution n'est pas à toute épreuve. Disons que je me contente d'une solution à l'épreuve des utilisateurs "ordinaires" ayant peu ou pas de connaissance VBA.
René
On 3 fév, 12:18, DanielCo wrote:
C'est un vieux débat, ici. Depuis un classeur externe, avec une macro, je peux afficher toutes les feuilles du classeur principal, sans activer les macros sur celui-ci. Daniel