XL 2016 Désactiver "Couper" dans ruban

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Je cherche à désactiver le bouton "Couper" (et ses copains "Copier", "Coller", "Collage spécial") dans le ruban.
J'ai cherché sur ce forum et ailleurs sur le Web, mais dans tout ce que j'ai trouvé rien ne fonctionne... :(

J'ai essayé ceci sans plus de succès :
VB:
Sub BloquerCouperDansRuban()
'
Dim cBar As CommandBar
Dim cBarCtrl As CommandBarControl

    For Each cBar In Application.CommandBars
        If cBar.Name = "Clipboard" Then
            Set cBarCtrl = cBar.FindControl(ID:=21)
            If Not cBarCtrl Is Nothing Then cBarCtrl.Enabled = False
        End If
    Next
End Sub

Pour info, cBarCtrl reste toujours égal à Nothing... :(
 
Dernière édition:

Eric C

XLDnaute Barbatruc
Bonjour le forum
Bonjour Marcel32

Ce que j'ai trouvé dans ma boîboîte et qui fonctionne sur XL2010 (ma version). Cela n'empêche pas le Copier/Couper mais empêche le Coller que ce soit depuis le ruban ou depuis le click droit de la souris, voire via le Ctrl+V -

VB:
Sub Workbook_DeActivate()
 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
Bonne journée à toutes & à tous
@+ Eric c
 

Eric C

XLDnaute Barbatruc
Et avec ceci, , toujours avec XL 2010, ça fonctionne également :

VB:
Private Sub Workbook_Activate()
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
End Sub
 
Private Sub Workbook_Deactivate()
Application.CellDragAndDrop = True
Application.OnKey "^c"
Application.CutCopyMode = False
End Sub
 
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
End Sub
 
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.CellDragAndDrop = True
Application.OnKey "^c"
Application.CutCopyMode = False
End Sub
 
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.CutCopyMode = False
End Sub
 
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
Application.CutCopyMode = False
End Sub
 
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Application.CutCopyMode = False
End Sub
 

Eric C

XLDnaute Barbatruc
Ou alors, ceci :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  Select Case Sh.Name
    'interdire copier, couper etc... sur feuille 1 et 2
  Case "Feuil1", "Feuil2"
    Application.CutCopyMode = False
    Application.CellDragAndDrop = False
    'autoriser copier, couper etc... sur les autres feuilles
  Case Else
    Application.CutCopyMode = True
    Application.CellDragAndDrop = True
  End Select
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
  Select Case Sh.Name
    'interdire copier, couper etc... sur feuille 1 et 2
  Case "Feuil1", "Feuil2"
    Application.CutCopyMode = False
    Application.CellDragAndDrop = False
  End Select
End Sub

@+ Eric c
 

TooFatBoy

XLDnaute Barbatruc
Cela n'empêche pas le Copier/Couper mais empêche le Coller
Pourtant, est-ce que ça ne devrait pas être l'inverse, d'après le code fourni ?
VB:
Sub Workbook_DeActivate()
 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


@Marcel32 - Le "Coller" du ruban n'est pas grisé ? Version 2010, je peux Copier/couper mais pas Coller (icône grisée).
@+
Non, pas de mise en "grisé" dans le ruban. :(
 

Discussions similaires

Statistiques des forums

Discussions
312 324
Messages
2 087 303
Membres
103 512
dernier inscrit
sisi235