Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Excel 2013] Activer la poignée de recopie par macro

7 réponses
Avatar
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 ?

Merci d'avance pour toute piste !

ThierryP

7 réponses

Avatar
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
Avatar
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
Avatar
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
Avatar
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."
.
Avatar
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 :
Avatar
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
Avatar
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