Macros pour activer / désactiver Copier-Coller

Résolu
Bonjour, j'ai besoin de votre aide s'il vous plait.

j'ai ces deux bouts de codes dans ThisWorkbook
Sub Desable_Copy()

Dim oCtrl As Office.CommandBarControl
For Each oCtrl In Application.CommandBars.FindControls(ID:=21)
oCtrl.Enabled = False
Next oCtrl

For Each oCtrl In Application.CommandBars.FindControls(ID:=19)
oCtrl.Enabled = False
Next oCtrl

Application.CellDragAndDrop = False
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
With Application
.CellDragAndDrop = False
.CutCopyMode = False 'Clear clipboard
End With
End Sub
.

Tout de suite après
Sub Enable_Copy()

Dim oCtrl As Office.CommandBarControl
For Each oCtrl In Application.CommandBars.FindControls(ID:=21)
oCtrl.Enabled = True
Next oCtrl

For Each oCtrl In Application.CommandBars.FindControls(ID:=19)
oCtrl.Enabled = True
Next oCtrl

Application.CellDragAndDrop = True
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
With Application
.CellDragAndDrop = True
.CutCopyMode = True 'Clear clipboard
End With
End Sub


le premier c'est une macro pour désactiver le Copier coller, le deuxième c'est pour l'activer.
Quand j’exécute le code j'ai ce message erreur :"Nom ambigu détecté".

Merci pour votre aide très précieuse car là je suis bloqué !!

2 réponses

  1. Contributeur
    Bonjour,

    Supprime les 2

    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)


    Ensuite suit ce tutoriel pour lancer tes 2 macros avec un raccourci clavier

    Sub Desable_Copy() et Sub Enable_Copy()

    http://www.info-3000.com/vbvba/raccourciclavier.php

    @+ Le Pivert
    1
    1. Merci énormément !
      ça m'a beaucoup aidé !! T'es un génie :)
      0
  2. Bonjour,

    vous avez deux fois la meme procedure avec un code different
    Private Sub Workbook_SheetSelectionChange
    0
    1. Bonjour, je sais que j'ai deux fois la même procédure, mais je n'ai aucune solution pour réparer ça !
      Merci f894009
      0
    2. @adsensBonjour,

      mais je n'ai aucune solution pour réparer ça !

      Ah que si, vous ne devez avoir qu'une seule procedure avec du code pour distinguer les deux actions que vous voulez
      0