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 :

Problème avec blocage Glisser/Déposer [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Secrétaire - Service Cantonal de la jeunesse (VS-CH)
    Inscrit en
    Mai 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Secrétaire - Service Cantonal de la jeunesse (VS-CH)
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 25
    Par défaut Problème avec blocage Glisser/Déposer
    Bonjour a tous,

    voilà pour un classeur que je doit faire, j'ai eu besoin de bloquer la manoevre "Glisser/Déposer" et le "Copier/Coller".

    Pour cela j'ai utilisé ces macros :

    Pour le glisser déposer que j'ai pèlacé dans toutes les feuilles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.CellDragAndDrop = True
    End Sub
    Pour le copier/coller, placé dans un module mais qui sont appeler au l'ouverture du classeur :
    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 XCut()
    On Error Resume Next
    With Application
    'disables shortcut keys
    .OnKey "^c", ""
    .OnKey "^v", ""
    .OnKey "^x", ""
    'Disables Copy
    .CommandBars("Edit").FindControl(ID:=19).Enabled = False
    .CommandBars("Edit").FindControl(ID:=848).Enabled = False
    .CommandBars("Cell").FindControl(ID:=19).Enabled = False
    .CommandBars("Column").FindControl(ID:=19).Enabled = False
    .CommandBars("Row").FindControl(ID:=19).Enabled = False
    .CommandBars("Button").FindControl(ID:=19).Enabled = False
    .CommandBars("Formula Bar").FindControl(ID:=19).Enabled = False
    .CommandBars("Worksheet Menu Bar").FindControl(ID:=19).Enabled = False
    .CommandBars("Standard").FindControl(ID:=19).Enabled = False
    .CommandBars("Button").FindControl(ID:=848).Enabled = False
    .CommandBars("Formula Bar").FindControl(ID:=848).Enabled = False
    .CommandBars("Worksheet Menu Bar").FindControl(ID:=848).Enabled = False
    .CommandBars("Standard").FindControl(ID:=848).Enabled = False
    .CommandBars("Ply").FindControl(ID:=848).Enabled = False
    'Disables Cut
    .CommandBars("Edit").FindControl(ID:=21).Enabled = False
    .CommandBars("Cell").FindControl(ID:=21).Enabled = False
    .CommandBars("Column").FindControl(ID:=21).Enabled = False
    .CommandBars("Row").FindControl(ID:=21).Enabled = False
    .CommandBars("Button").FindControl(ID:=21).Enabled = False
    .CommandBars("Formula Bar").FindControl(ID:=21).Enabled = False
    .CommandBars("Worksheet Menu Bar").FindControl(ID:=21).Enabled = False
    .CommandBars("Standard").FindControl(ID:=21).Enabled = False
    End With
    End Sub
     
    Sub VCut()
    On Error Resume Next
    With Application
    'disables shortcut keys
    .OnKey "^c", ""
    .OnKey "^v", ""
    .OnKey "^x", ""
    'Disables Copy
    .CommandBars("Edit").FindControl(ID:=19).Enabled = True
    .CommandBars("Edit").FindControl(ID:=848).Enabled = True
    .CommandBars("Cell").FindControl(ID:=19).Enabled = True
    .CommandBars("Column").FindControl(ID:=19).Enabled = True
    .CommandBars("Row").FindControl(ID:=19).Enabled = True
    .CommandBars("Button").FindControl(ID:=19).Enabled = True
    .CommandBars("Formula Bar").FindControl(ID:=19).Enabled = True
    .CommandBars("Worksheet Menu Bar").FindControl(ID:=19).Enabled = True
    .CommandBars("Standard").FindControl(ID:=19).Enabled = True
    .CommandBars("Button").FindControl(ID:=848).Enabled = True
    .CommandBars("Formula Bar").FindControl(ID:=848).Enabled = True
    .CommandBars("Worksheet Menu Bar").FindControl(ID:=848).Enabled = True
    .CommandBars("Standard").FindControl(ID:=848).Enabled = True
    .CommandBars("Ply").FindControl(ID:=848).Enabled = True
    'Disables Cut
    .CommandBars("Edit").FindControl(ID:=21).Enabled = True
    .CommandBars("Cell").FindControl(ID:=21).Enabled = True
    .CommandBars("Column").FindControl(ID:=21).Enabled = True
    .CommandBars("Row").FindControl(ID:=21).Enabled = True
    .CommandBars("Button").FindControl(ID:=21).Enabled = True
    .CommandBars("Formula Bar").FindControl(ID:=21).Enabled = True
    .CommandBars("Worksheet Menu Bar").FindControl(ID:=21).Enabled = True
    .CommandBars("Standard").FindControl(ID:=21).Enabled = True
    End With
    End Sub
    Mais il semblerait que après avoir fermer le classeur ses macros s'appliquent également aux autres classeurs que j'ouvre.

    Dès que j'ouvre un nouveau classeur ou un ancien classeur, le glisser/déposer est inutilisable, et le copier/coller est en partie inutilisable (Pas de collage spécial, et je n'arriveait pas a coller des lignes)

    Ma question serait de savoir comment faire pour ne pas que la macro affecte les autes classeurs. Car se fichier excel doit être distribué, donc ça serait un peu une catastrophe

    Merci a tous de votre attention

  2. #2
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut problème avec blocage
    Bonjour,

    Ne faut-il pas mettre avant de sortir de l'application pour rétablir la fonction par défaut.

    application.OnKey "^c"
    application.OnKey "^v"
    application.OnKey "^x"

    Cordialement,

  3. #3
    Membre averti
    Homme Profil pro
    Secrétaire - Service Cantonal de la jeunesse (VS-CH)
    Inscrit en
    Mai 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Secrétaire - Service Cantonal de la jeunesse (VS-CH)
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 25
    Par défaut
    Merci beaucoup ça règle le problème du Copier/Coller.

    Mais persiste le problème du Glisser/Déposer, pas d'idée la dessus ?

    Peut-être si je le mettait au niveau du Classeur et pas des feuilles ?

  4. #4
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut problème avec blocage
    re...,

    effectivement je n'ai pas été complet.

    peut être suffit-il avant de sortir de remettre à false ce que tu as mis à true.

    Cordialement,

  5. #5
    Membre averti
    Homme Profil pro
    Secrétaire - Service Cantonal de la jeunesse (VS-CH)
    Inscrit en
    Mai 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Secrétaire - Service Cantonal de la jeunesse (VS-CH)
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 25
    Par défaut
    Le problème c'est que il n'y a pas d'entrée ou de sortie. C'est juste une macro dans une feuille.

    Est-ce que je dois une macro "de sortie" qui défini le G/D comme "True" dans chaque feuille ?

  6. #6
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut problème avec blocage
    re...,

    je pense qu'une seule instruction avant sortie de l'application au même endroit que celle mise pour le copier coller doit suffire. De toutes façons, tu constateras l'effet en essayant ensuite de rentrer dans un autre classeur.

    Cordialement,

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

Discussions similaires

  1. Glisser-déposer avec un QListView
    Par Natrio dans le forum Débuter
    Réponses: 3
    Dernier message: 19/10/2010, 09h22
  2. Réponses: 2
    Dernier message: 23/05/2010, 03h30
  3. Problème de blocage avec Worksheet_Change
    Par Riri80 dans le forum Excel
    Réponses: 2
    Dernier message: 30/01/2009, 09h27
  4. Glisser-déposer avec Tkinter? (Tkdnd?)
    Par tyrtamos dans le forum Tkinter
    Réponses: 2
    Dernier message: 17/07/2008, 09h53
  5. Glisser-Déposer avec access
    Par mooh91 dans le forum IHM
    Réponses: 3
    Dernier message: 20/06/2007, 13h43

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