IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Interdire le "glissé/laché"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Par défaut Interdire le "glissé/laché"
    Yo, j'ai un petit fichier excel avec des boutons filtrant des lignes (i.e. rendant leur "Hidden" à true).

    J'aimerai interdire le "glissé/laché" des colonnes dans cette WorkSheet, histoire qu'il n'y ait pas de gros patequès... sur les lignes cachées

    Vous savez faire?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 262
    Par défaut
    Bonjour,

    Dans les outils de protection d'une feuille Excel, il existe une option "Interdire les ajouts de colonnes"...

    Menu Outils, Protection, etc

  3. #3
    Membre Expert Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Par défaut
    non, non, ce n'est pas de ca dont je parle

    tu prends la cellule A2 et en cliquant en bas à droite tu la glisses jusqu'en A5 histoire que ces cases prennent la valeur de A2

    C'est cette "extension" que je veux interdire partout sur la feuille

  4. #4
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par défaut
    Si j'ai bien compris ce que tu demandes, la solution se trouve peut être dans:
    Outils / Optionspuis onglet 'Modifications'.
    Là tu as des cases à cocher 'Modification directe' ou 'Glissement-Déplacement de la cellule'.

  5. #5
    Membre Expert Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Par défaut
    A y est, j'ai tout ce qu'il faut:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    Sub DisableCopyCutAndPaste()
        EnableControl 21, False   ' cut
        EnableControl 19, False   ' copy
        EnableControl 22, False   ' paste
        EnableControl 755, False  ' pastespecial
        Application.OnKey "^c", ""
        Application.OnKey "^v", ""
        Application.OnKey "+{DEL}", ""
        Application.OnKey "+{INSERT}", ""
        Application.CellDragAndDrop = False
        Application.OnDoubleClick = ""
    End Sub
     
    Sub EnableCopyCutAndPaste()
        EnableControl 21, True   ' cut
        EnableControl 19, True   ' copy
        EnableControl 22, True   ' paste
        EnableControl 755, True  ' pastespecial
        Application.OnKey "^c"
        Application.OnKey "^v"
        Application.OnKey "+{DEL}"
        Application.OnKey "+{INSERT}"
        Application.CellDragAndDrop = True
        Application.OnDoubleClick = ""
    End Sub
     
    Sub EnableControl(Id As Integer, Enabled As Boolean)
    Dim CB As CommandBar
    Dim C As CommandBarControl
     
    On Error Resume Next
    For Each CB In Application.CommandBars
        Set C = CB.FindControl(Id:=Id, recursive:=True)
        If Not C Is Nothing Then C.Enabled = Enabled
    Next
     
    End Sub
     
    Sub MessageInterdit()
        MsgBox "Le Copier / Coller et le clic droit sont désactivés sur ce classeur!", vbInformation, "Action interdite"
    End Sub
     
    Private Sub Workbook_Activate()
    DisableCopyCutAndPaste
    End Sub
     
    Private Sub Workbook_Deactivate()
    EnableCopyCutAndPaste
    End Sub
     
    Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    MessageInterdit
    End Sub
     
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Application.CutCopyMode = False
     
    End Sub
     
    Private Sub Workbook_WindowActivate(ByVal Wn As Window)
    DisableCopyCutAndPaste
    End Sub
     
    Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
    DisableCopyCutAndPaste
    End Sub

    Si ca peut servir à quelqu'un...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quote et double quote
    Par aktos dans le forum Langage
    Réponses: 8
    Dernier message: 05/01/2007, 19h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo