[Excel 2013] Activer la poignée de recopie par macro
7 réponses
ThierryP
Bonjour le forum,
Afin d'=C3=A9viter de nombreuses erreurs de manipulation, l'option "Activer=
la poign=C3=A9e de recopie" est d=C3=A9sactiv=C3=A9e.
Est-il possible (rien n'est impossible dans Excel, il faut juste un gourou =
!!!) d'activer cette option par macro, afin d'en limiter l'usage aux seules=
feuilles o=C3=B9 cela pourrait =C3=AAtre utile ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacquouille
Salut Si tu connais la manip pour activer/désactiver, ce ne serait pas possible via l'enregistreur de macro, puis de faire un bouton dans le ruban ? Jacques " Le vin est au repas ce que le parfum est à la femme." . "ThierryP" a écrit dans le message de groupe de discussion : Bonjour le forum, Afin d'éviter de nombreuses erreurs de manipulation, l'option "Activer la poignée de recopie" est désactivée. Est-il possible (rien n'est impossible dans Excel, il faut juste un gourou !!!) d'activer cette option par macro, afin d'en limiter l'usage aux seules feuilles où cela pourrait être utile ? Merci d'avance pour toute piste ! ThierryP
Salut
Si tu connais la manip pour activer/désactiver, ce ne serait pas possible
via l'enregistreur de macro, puis de faire un bouton dans le ruban ?
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"ThierryP" a écrit dans le message de groupe de discussion :
834d839b-ec1f-4472-84f1-2d63cdf5dc79@googlegroups.com...
Bonjour le forum,
Afin d'éviter de nombreuses erreurs de manipulation, l'option "Activer la
poignée de recopie" est désactivée.
Est-il possible (rien n'est impossible dans Excel, il faut juste un gourou
!!!) d'activer cette option par macro, afin d'en limiter l'usage aux seules
feuilles où cela pourrait être utile ?
Salut Si tu connais la manip pour activer/désactiver, ce ne serait pas possible via l'enregistreur de macro, puis de faire un bouton dans le ruban ? Jacques " Le vin est au repas ce que le parfum est à la femme." . "ThierryP" a écrit dans le message de groupe de discussion : Bonjour le forum, Afin d'éviter de nombreuses erreurs de manipulation, l'option "Activer la poignée de recopie" est désactivée. Est-il possible (rien n'est impossible dans Excel, il faut juste un gourou !!!) d'activer cette option par macro, afin d'en limiter l'usage aux seules feuilles où cela pourrait être utile ? Merci d'avance pour toute piste ! ThierryP
MichD
Bonjour, Colle cette procédure dans le Thisworkbook du projetVBA du classeur : Tu adaptes le nom des onglets de la liste des feuilles où tu veux désactiver la recopie '----------------------- Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim Arr() 'La liste des onglets des feuilles où tu veux 'désactiver la recopie Arr = Array("Feuil1", "Feuil2") Application.CellDragAndDrop = False If IsError(Application.Match(Sh.Name, Arr, 0)) Then Application.CellDragAndDrop = True End If End Sub '----------------------- MichD Le 24/10/19 à 11:13, ThierryP a écrit :
Bonjour le forum, Afin d'éviter de nombreuses erreurs de manipulation, l'option "Activer la poignée de recopie" est désactivée. Est-il possible (rien n'est impossible dans Excel, il faut juste un gourou !!!) d'activer cette option par macro, afin d'en limiter l'usage aux seules feuilles où cela pourrait être utile ? Merci d'avance pour toute piste ! ThierryP
Bonjour,
Colle cette procédure dans le Thisworkbook du projetVBA du classeur :
Tu adaptes le nom des onglets de la liste des feuilles où
tu veux désactiver la recopie
'-----------------------
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim Arr()
'La liste des onglets des feuilles où tu veux
'désactiver la recopie
Arr = Array("Feuil1", "Feuil2")
Application.CellDragAndDrop = False
If IsError(Application.Match(Sh.Name, Arr, 0)) Then
Application.CellDragAndDrop = True
End If
End Sub
'-----------------------
MichD
Le 24/10/19 à 11:13, ThierryP a écrit :
Bonjour le forum,
Afin d'éviter de nombreuses erreurs de manipulation, l'option "Activer la poignée de recopie" est désactivée.
Est-il possible (rien n'est impossible dans Excel, il faut juste un gourou !!!) d'activer cette option par macro, afin d'en limiter l'usage aux seules feuilles où cela pourrait être utile ?
Bonjour, Colle cette procédure dans le Thisworkbook du projetVBA du classeur : Tu adaptes le nom des onglets de la liste des feuilles où tu veux désactiver la recopie '----------------------- Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim Arr() 'La liste des onglets des feuilles où tu veux 'désactiver la recopie Arr = Array("Feuil1", "Feuil2") Application.CellDragAndDrop = False If IsError(Application.Match(Sh.Name, Arr, 0)) Then Application.CellDragAndDrop = True End If End Sub '----------------------- MichD Le 24/10/19 à 11:13, ThierryP a écrit :
Bonjour le forum, Afin d'éviter de nombreuses erreurs de manipulation, l'option "Activer la poignée de recopie" est désactivée. Est-il possible (rien n'est impossible dans Excel, il faut juste un gourou !!!) d'activer cette option par macro, afin d'en limiter l'usage aux seules feuilles où cela pourrait être utile ? Merci d'avance pour toute piste ! ThierryP
MichD
En fait, c'est ce que tu devrais ajouter au ThisWorkbook, pour que la gestion soit efficace dès l'ouverture du fichier. Quand tu fermes le fichier, ne soit pas surpris si tu as le message de sauvegarde du fichier, car si tu ouvres le classeur sur une feuille où doit s'appliquer la limitation de la recopie, le classeur a été modifié même si tu ne modifies rien manuellement. Dim Ok As Boolean '==============--------------------------- Sub Workbook_BeforeClose(Cancel As Boolean) Dim X As VbMsgBoxResult If Ok = True Then Exit Sub X = MsgBox("Désirez enregistrer votre fichier """ & ThisWorkbook.Name & """?", vbYesNoCancel, "Attention") If X = vbCancel Then Cancel = True Ok = False ElseIf X = vbYes Then Application.CellDragAndDrop = True Ok = True ThisWorkbook.Close True ElseIf X = vbNo Then Application.CellDragAndDrop = True Ok = True ThisWorkbook.Close False End If End Sub '==============--------------------------- Private Sub Workbook_Deactivate() Application.CellDragAndDrop = True End Sub '==============--------------------------- Private Sub Workbook_Open() Call Workbook_SheetActivate(ActiveSheet) End Sub Sub Workbook_SheetActivate(ByVal Sh As Object) Dim Arr() 'La liste des onglets des feuilles où tu veux 'désactiver la recopie Arr = Array("Feuil1", "Feuil2") Application.CellDragAndDrop = False If IsError(Application.Match(Sh.Name, Arr, 0)) Then Application.CellDragAndDrop = True End If End Sub '==============--------------------------- MichD
En fait, c'est ce que tu devrais ajouter au ThisWorkbook, pour que la
gestion soit efficace dès l'ouverture du fichier.
Quand tu fermes le fichier, ne soit pas surpris si tu as le message de
sauvegarde du fichier, car si tu ouvres le classeur sur une feuille où
doit s'appliquer la limitation de la recopie, le classeur a été modifié
même si tu ne modifies rien manuellement.
Dim Ok As Boolean
'==============---------------------------
Sub Workbook_BeforeClose(Cancel As Boolean)
Dim X As VbMsgBoxResult
If Ok = True Then Exit Sub
ElseIf X = vbYes Then
Application.CellDragAndDrop = True
Ok = True
ThisWorkbook.Close True
ElseIf X = vbNo Then
Application.CellDragAndDrop = True
Ok = True
ThisWorkbook.Close False
End If
End Sub
'==============---------------------------
Private Sub Workbook_Deactivate()
Application.CellDragAndDrop = True
End Sub
'==============---------------------------
Private Sub Workbook_Open()
Call Workbook_SheetActivate(ActiveSheet)
End Sub
Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim Arr()
'La liste des onglets des feuilles où tu veux
'désactiver la recopie
Arr = Array("Feuil1", "Feuil2")
Application.CellDragAndDrop = False
If IsError(Application.Match(Sh.Name, Arr, 0)) Then
Application.CellDragAndDrop = True
End If
End Sub
'==============---------------------------
En fait, c'est ce que tu devrais ajouter au ThisWorkbook, pour que la gestion soit efficace dès l'ouverture du fichier. Quand tu fermes le fichier, ne soit pas surpris si tu as le message de sauvegarde du fichier, car si tu ouvres le classeur sur une feuille où doit s'appliquer la limitation de la recopie, le classeur a été modifié même si tu ne modifies rien manuellement. Dim Ok As Boolean '==============--------------------------- Sub Workbook_BeforeClose(Cancel As Boolean) Dim X As VbMsgBoxResult If Ok = True Then Exit Sub X = MsgBox("Désirez enregistrer votre fichier """ & ThisWorkbook.Name & """?", vbYesNoCancel, "Attention") If X = vbCancel Then Cancel = True Ok = False ElseIf X = vbYes Then Application.CellDragAndDrop = True Ok = True ThisWorkbook.Close True ElseIf X = vbNo Then Application.CellDragAndDrop = True Ok = True ThisWorkbook.Close False End If End Sub '==============--------------------------- Private Sub Workbook_Deactivate() Application.CellDragAndDrop = True End Sub '==============--------------------------- Private Sub Workbook_Open() Call Workbook_SheetActivate(ActiveSheet) End Sub Sub Workbook_SheetActivate(ByVal Sh As Object) Dim Arr() 'La liste des onglets des feuilles où tu veux 'désactiver la recopie Arr = Array("Feuil1", "Feuil2") Application.CellDragAndDrop = False If IsError(Application.Match(Sh.Name, Arr, 0)) Then Application.CellDragAndDrop = True End If End Sub '==============--------------------------- MichD
ThierryP
Bonjour Jacques, Comme il m'est déjà arrivé de constater que l'enregistreur n 'enregistrait rien lors d'actions dans certaines options d'Excel, je n'ai m ême pas essayé !!! Et tu as raison, pour celle-ci, ça foncti onne ! D'un autre côté, Denis m'a pondu la macro toute faite qui va bien .... Il me rend fainéant ! ThierryP Le jeudi 24 octobre 2019 19:01:43 UTC+2, Jacquouille a écrit :
Salut Si tu connais la manip pour activer/désactiver, ce ne serait pas pos sible via l'enregistreur de macro, puis de faire un bouton dans le ruban ? Jacques " Le vin est au repas ce que le parfum est à la femme." .
Bonjour Jacques,
Comme il m'est déjà arrivé de constater que l'enregistreur n 'enregistrait rien lors d'actions dans certaines options d'Excel, je n'ai m ême pas essayé !!! Et tu as raison, pour celle-ci, ça foncti onne !
D'un autre côté, Denis m'a pondu la macro toute faite qui va bien .... Il me rend fainéant !
ThierryP
Le jeudi 24 octobre 2019 19:01:43 UTC+2, Jacquouille a écrit :
Salut
Si tu connais la manip pour activer/désactiver, ce ne serait pas pos sible
via l'enregistreur de macro, puis de faire un bouton dans le ruban ?
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
Bonjour Jacques, Comme il m'est déjà arrivé de constater que l'enregistreur n 'enregistrait rien lors d'actions dans certaines options d'Excel, je n'ai m ême pas essayé !!! Et tu as raison, pour celle-ci, ça foncti onne ! D'un autre côté, Denis m'a pondu la macro toute faite qui va bien .... Il me rend fainéant ! ThierryP Le jeudi 24 octobre 2019 19:01:43 UTC+2, Jacquouille a écrit :
Salut Si tu connais la manip pour activer/désactiver, ce ne serait pas pos sible via l'enregistreur de macro, puis de faire un bouton dans le ruban ? Jacques " Le vin est au repas ce que le parfum est à la femme." .
ThierryP
Bonjour Denis, Une fois de plus réponse complète, exhaustive, détaillé e et en plus je n'ai même pas besoin d'écrire la macro !!!!! Un grand merci ! ThierryP Le jeudi 24 octobre 2019 23:42:18 UTC+2, MichD a écrit :
Bonjour Denis,
Une fois de plus réponse complète, exhaustive, détaillé e et en plus je n'ai même pas besoin d'écrire la macro !!!!!
Un grand merci !
ThierryP
Le jeudi 24 octobre 2019 23:42:18 UTC+2, MichD a écrit :
Bonjour Denis, Une fois de plus réponse complète, exhaustive, détaillé e et en plus je n'ai même pas besoin d'écrire la macro !!!!! Un grand merci ! ThierryP Le jeudi 24 octobre 2019 23:42:18 UTC+2, MichD a écrit :
MichD
Le 25/10/19 à 03:28, ThierryP a écrit :
Bonjour Denis, Une fois de plus réponse complète, exhaustive, détaillée et en plus je n'ai même pas besoin d'écrire la macro !!!!! Un grand merci ! ThierryP Le jeudi 24 octobre 2019 23:42:18 UTC+2, MichD a écrit :
Il ne faut pas seulement se fier sur les propositions faites, mais il faut les tester à fond. Tu aurais trouvé qu'il manque ceci dans le ThisWorkbook. Sans ceci, le fait de sélectionner un autre classeur ouvert, désactive la restriction sur la recopie et lorsque tu reviens à ton classeur, la restriction n'est plus présente si la feuille le requiert. '------------------- Private Sub Workbook_Activate() Call Workbook_SheetActivate(ActiveSheet) End Sub '------------------- MichD
Le 25/10/19 à 03:28, ThierryP a écrit :
Bonjour Denis,
Une fois de plus réponse complète, exhaustive, détaillée et en plus je n'ai même pas besoin d'écrire la macro !!!!!
Un grand merci !
ThierryP
Le jeudi 24 octobre 2019 23:42:18 UTC+2, MichD a écrit :
Il ne faut pas seulement se fier sur les propositions faites, mais il
faut les tester à fond. Tu aurais trouvé qu'il manque ceci dans le
ThisWorkbook. Sans ceci, le fait de sélectionner un autre classeur
ouvert, désactive la restriction sur la recopie et lorsque tu reviens à
ton classeur, la restriction n'est plus présente si la feuille le requiert.
'-------------------
Private Sub Workbook_Activate()
Call Workbook_SheetActivate(ActiveSheet)
End Sub
'-------------------
Bonjour Denis, Une fois de plus réponse complète, exhaustive, détaillée et en plus je n'ai même pas besoin d'écrire la macro !!!!! Un grand merci ! ThierryP Le jeudi 24 octobre 2019 23:42:18 UTC+2, MichD a écrit :
Il ne faut pas seulement se fier sur les propositions faites, mais il faut les tester à fond. Tu aurais trouvé qu'il manque ceci dans le ThisWorkbook. Sans ceci, le fait de sélectionner un autre classeur ouvert, désactive la restriction sur la recopie et lorsque tu reviens à ton classeur, la restriction n'est plus présente si la feuille le requiert. '------------------- Private Sub Workbook_Activate() Call Workbook_SheetActivate(ActiveSheet) End Sub '------------------- MichD
ThierryP
Ne sois pas si dur avec moi, je n'ai pas encore eu le temps de tester :-):- ) :-) Mais promis, je teste dès que possible !!! ThierryP
Ne sois pas si dur avec moi, je n'ai pas encore eu le temps de tester :-):- ) :-)