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.
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
Le 2011-02-03 10:36, renroy a écrit :
Bonjour à tous,
Je fais appel à vos lumières et vos solutions parfois géniales à des problèmes pointilleux.
J'ai un classeur Excel comportant quelques onglets d'information et que je souhaite rendre disponible à un utilisateur. Je souhaite permettre à cet utilisateur de compléter 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éré une macro vba dans l'objet ThisWorkbook qui semble bien empêcher 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 à une copie venant du classeur vers un autre classeur Application.CutCopyMode = False End Sub
Mon problème est que rien n'empêche 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úlse ou Application.CutCopyMode=True équivaut à l'appui sur la touche Echap (annulation du mode Copier ou Coller, disparition des pointillés). Quelle est la différence entre les deux puisque False et True ont le même effet ?
2- Existe-t'il une façon 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étecter que la bascule entre classeurs. Comment peut-on détecter la bascule entre Excel et une autre application ?
Merci à l'avance pour vos précieuses suggestions.
René R.
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
Le 2011-02-03 10:36, renroy a écrit :
Bonjour à tous,
Je fais appel à vos lumières et vos solutions parfois géniales à des
problèmes pointilleux.
J'ai un classeur Excel comportant quelques onglets d'information et
que je souhaite rendre disponible à un utilisateur. Je souhaite
permettre à cet utilisateur de compléter 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éré une macro vba dans l'objet ThisWorkbook qui semble bien
empêcher 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 à une copie venant du classeur vers
un autre classeur
Application.CutCopyMode = False
End Sub
Mon problème est que rien n'empêche 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úlse ou
Application.CutCopyMode=True équivaut à l'appui sur la touche Echap
(annulation du mode Copier ou Coller, disparition des pointillés).
Quelle est la différence entre les deux puisque False et True ont le
même effet ?
2- Existe-t'il une façon 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étecter que la bascule entre
classeurs. Comment peut-on détecter la bascule entre Excel et une
autre application ?
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
Le 2011-02-03 10:36, renroy a écrit :
Bonjour à tous,
Je fais appel à vos lumières et vos solutions parfois géniales à des problèmes pointilleux.
J'ai un classeur Excel comportant quelques onglets d'information et que je souhaite rendre disponible à un utilisateur. Je souhaite permettre à cet utilisateur de compléter 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éré une macro vba dans l'objet ThisWorkbook qui semble bien empêcher 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 à une copie venant du classeur vers un autre classeur Application.CutCopyMode = False End Sub
Mon problème est que rien n'empêche 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úlse ou Application.CutCopyMode=True équivaut à l'appui sur la touche Echap (annulation du mode Copier ou Coller, disparition des pointillés). Quelle est la différence entre les deux puisque False et True ont le même effet ?
2- Existe-t'il une façon 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étecter que la bascule entre classeurs. Comment peut-on détecter la bascule entre Excel et une autre application ?
Merci à l'avance pour vos précieuses suggestions.
René R.
DanielCo
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
Bonjour à tous,
Je fais appel à vos lumières et vos solutions parfois géniales à des problèmes pointilleux.
J'ai un classeur Excel comportant quelques onglets d'information et que je souhaite rendre disponible à un utilisateur. Je souhaite permettre à cet utilisateur de compléter 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éré une macro vba dans l'objet ThisWorkbook qui semble bien empêcher 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 à une copie venant du classeur vers un autre classeur Application.CutCopyMode = False End Sub
Mon problème est que rien n'empêche 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úlse ou Application.CutCopyMode=True équivaut à l'appui sur la touche Echap (annulation du mode Copier ou Coller, disparition des pointillés). Quelle est la différence entre les deux puisque False et True ont le même effet ?
2- Existe-t'il une façon 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étecter que la bascule entre classeurs. Comment peut-on détecter la bascule entre Excel et une autre application ?
Merci à l'avance pour vos précieuses suggestions.
René R.
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
Bonjour à tous,
Je fais appel à vos lumières et vos solutions parfois géniales à des
problèmes pointilleux.
J'ai un classeur Excel comportant quelques onglets d'information et
que je souhaite rendre disponible à un utilisateur. Je souhaite
permettre à cet utilisateur de compléter 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éré une macro vba dans l'objet ThisWorkbook qui semble bien
empêcher 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 à une copie venant du classeur vers
un autre classeur
Application.CutCopyMode = False
End Sub
Mon problème est que rien n'empêche 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úlse ou
Application.CutCopyMode=True équivaut à l'appui sur la touche Echap
(annulation du mode Copier ou Coller, disparition des pointillés).
Quelle est la différence entre les deux puisque False et True ont le
même effet ?
2- Existe-t'il une façon 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étecter que la bascule entre
classeurs. Comment peut-on détecter la bascule entre Excel et une
autre application ?
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
Bonjour à tous,
Je fais appel à vos lumières et vos solutions parfois géniales à des problèmes pointilleux.
J'ai un classeur Excel comportant quelques onglets d'information et que je souhaite rendre disponible à un utilisateur. Je souhaite permettre à cet utilisateur de compléter 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éré une macro vba dans l'objet ThisWorkbook qui semble bien empêcher 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 à une copie venant du classeur vers un autre classeur Application.CutCopyMode = False End Sub
Mon problème est que rien n'empêche 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úlse ou Application.CutCopyMode=True équivaut à l'appui sur la touche Echap (annulation du mode Copier ou Coller, disparition des pointillés). Quelle est la différence entre les deux puisque False et True ont le même effet ?
2- Existe-t'il une façon 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étecter que la bascule entre classeurs. Comment peut-on détecter la bascule entre Excel et une autre application ?
Merci à l'avance pour vos précieuses suggestions.
René R.
news.free.fr
Bonjour Isabelle, Je crois que ça ne fonctionne plus depuis XL2007. Daniel
Bonjour Isabelle,
Je crois que ça ne fonctionne plus depuis XL2007.
Daniel
Bonjour Isabelle, Je crois que ça ne fonctionne plus depuis XL2007. Daniel
news.free.fr
Bonjour Isabelle, Je crois que ça ne fonctionne plus depuis XL2007. Daniel
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
Le 2011-02-03 10:36, renroy a écrit :
Bonjour à tous,
Je fais appel à vos lumières et vos solutions parfois géniales à des problèmes pointilleux.
J'ai un classeur Excel comportant quelques onglets d'information et que je souhaite rendre disponible à un utilisateur. Je souhaite permettre à cet utilisateur de compléter 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éré une macro vba dans l'objet ThisWorkbook qui semble bien empêcher 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 à une copie venant du classeur vers un autre classeur Application.CutCopyMode = False End Sub
Mon problème est que rien n'empêche 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úlse ou Application.CutCopyMode=True équivaut à l'appui sur la touche Echap (annulation du mode Copier ou Coller, disparition des pointillés). Quelle est la différence entre les deux puisque False et True ont le même effet ?
2- Existe-t'il une façon 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étecter que la bascule entre classeurs. Comment peut-on détecter la bascule entre Excel et une autre application ?
Merci à l'avance pour vos précieuses suggestions.
René R.
Bonjour Isabelle,
Je crois que ça ne fonctionne plus depuis XL2007.
Daniel
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
Le 2011-02-03 10:36, renroy a écrit :
Bonjour à tous,
Je fais appel à vos lumières et vos solutions parfois géniales à des
problèmes pointilleux.
J'ai un classeur Excel comportant quelques onglets d'information et
que je souhaite rendre disponible à un utilisateur. Je souhaite
permettre à cet utilisateur de compléter 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éré une macro vba dans l'objet ThisWorkbook qui semble bien
empêcher 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 à une copie venant du classeur vers
un autre classeur
Application.CutCopyMode = False
End Sub
Mon problème est que rien n'empêche 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úlse ou
Application.CutCopyMode=True équivaut à l'appui sur la touche Echap
(annulation du mode Copier ou Coller, disparition des pointillés).
Quelle est la différence entre les deux puisque False et True ont le
même effet ?
2- Existe-t'il une façon 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étecter que la bascule entre
classeurs. Comment peut-on détecter la bascule entre Excel et une
autre application ?
Bonjour Isabelle, Je crois que ça ne fonctionne plus depuis XL2007. Daniel
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
Le 2011-02-03 10:36, renroy a écrit :
Bonjour à tous,
Je fais appel à vos lumières et vos solutions parfois géniales à des problèmes pointilleux.
J'ai un classeur Excel comportant quelques onglets d'information et que je souhaite rendre disponible à un utilisateur. Je souhaite permettre à cet utilisateur de compléter 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éré une macro vba dans l'objet ThisWorkbook qui semble bien empêcher 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 à une copie venant du classeur vers un autre classeur Application.CutCopyMode = False End Sub
Mon problème est que rien n'empêche 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úlse ou Application.CutCopyMode=True équivaut à l'appui sur la touche Echap (annulation du mode Copier ou Coller, disparition des pointillés). Quelle est la différence entre les deux puisque False et True ont le même effet ?
2- Existe-t'il une façon 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étecter que la bascule entre classeurs. Comment peut-on détecter la bascule entre Excel et une autre application ?
Merci à l'avance pour vos précieuses suggestions.
René R.
isabelle
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
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
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
DanielCo
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
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
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
isabelle
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
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
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
renroy
Bonjour Isabelle,
Merci de ton intervention ;-)
Tel que soulevé par Daniel, le code que tu suggère ci-après génèr e 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
Le 2011-02-03 10:36, renroy a écrit :
> Bonjour à tous,
> Je fais appel à vos lumières et vos solutions parfois géniales à des > problèmes pointilleux.
> J'ai un classeur Excel comportant quelques onglets d'information et > que je souhaite rendre disponible à un utilisateur. Je souhaite > permettre à cet utilisateur de compléter 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éré une macro vba dans l'objet ThisWorkbook qui semble bien > empêcher de copier vers un autre classeur tout en permettant de copie r- > coller d'un autre classeur vers le mien:
> Private Sub Workbook_Deactivate() > 'Pour interdire le collage suite à une copie venant du classeur vers > un autre classeur > Application.CutCopyMode = False > End Sub
> Mon problème est que rien n'empêche l'utilisateur de copier vers Wo rd > 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.CutCopyModelse ou > Application.CutCopyMode=True équivaut à l'appui sur la touche Ech ap > (annulation du mode Copier ou Coller, disparition des pointillés). > Quelle est la différence entre les deux puisque False et True ont le > même effet ?
> 2- Existe-t'il une façon 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étecter que la bascule entre > classeurs. Comment peut-on détecter la bascule entre Excel et une > autre application ?
> Merci à l'avance pour vos précieuses suggestions.
> René R.- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour Isabelle,
Merci de ton intervention ;-)
Tel que soulevé par Daniel, le code que tu suggère ci-après génèr e 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
isabelle
Le 2011-02-03 10:36, renroy a écrit :
> Bonjour à tous,
> Je fais appel à vos lumières et vos solutions parfois géniales à des
> problèmes pointilleux.
> J'ai un classeur Excel comportant quelques onglets d'information et
> que je souhaite rendre disponible à un utilisateur. Je souhaite
> permettre à cet utilisateur de compléter 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éré une macro vba dans l'objet ThisWorkbook qui semble bien
> empêcher de copier vers un autre classeur tout en permettant de copie r-
> coller d'un autre classeur vers le mien:
> Private Sub Workbook_Deactivate()
> 'Pour interdire le collage suite à une copie venant du classeur vers
> un autre classeur
> Application.CutCopyMode = False
> End Sub
> Mon problème est que rien n'empêche l'utilisateur de copier vers Wo rd
> 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=False ou
> Application.CutCopyMode=True équivaut à l'appui sur la touche Ech ap
> (annulation du mode Copier ou Coller, disparition des pointillés).
> Quelle est la différence entre les deux puisque False et True ont le
> même effet ?
> 2- Existe-t'il une façon 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étecter que la bascule entre
> classeurs. Comment peut-on détecter la bascule entre Excel et une
> autre application ?
> Merci à l'avance pour vos précieuses suggestions.
> René R.- Masquer le texte des messages précédents -
Tel que soulevé par Daniel, le code que tu suggère ci-après génèr e 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
Le 2011-02-03 10:36, renroy a écrit :
> Bonjour à tous,
> Je fais appel à vos lumières et vos solutions parfois géniales à des > problèmes pointilleux.
> J'ai un classeur Excel comportant quelques onglets d'information et > que je souhaite rendre disponible à un utilisateur. Je souhaite > permettre à cet utilisateur de compléter 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éré une macro vba dans l'objet ThisWorkbook qui semble bien > empêcher de copier vers un autre classeur tout en permettant de copie r- > coller d'un autre classeur vers le mien:
> Private Sub Workbook_Deactivate() > 'Pour interdire le collage suite à une copie venant du classeur vers > un autre classeur > Application.CutCopyMode = False > End Sub
> Mon problème est que rien n'empêche l'utilisateur de copier vers Wo rd > 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.CutCopyModelse ou > Application.CutCopyMode=True équivaut à l'appui sur la touche Ech ap > (annulation du mode Copier ou Coller, disparition des pointillés). > Quelle est la différence entre les deux puisque False et True ont le > même effet ?
> 2- Existe-t'il une façon 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étecter que la bascule entre > classeurs. Comment peut-on détecter la bascule entre Excel et une > autre application ?
> Merci à l'avance pour vos précieuses suggestions.
> René R.- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
renroy
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
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
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
DanielCo
Non plus (je ne la connaissais pas, celle là !) On dirait que c'est "by design"; pas possible qIls ne l'aient pas fait exprès. Daniel
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
Non plus (je ne la connaissais pas, celle là !)
On dirait que c'est "by design"; pas possible qIls ne l'aient pas fait
exprès.
Daniel
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
Non plus (je ne la connaissais pas, celle là !) On dirait que c'est "by design"; pas possible qIls ne l'aient pas fait exprès. Daniel
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