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

IHM Discussion :

Récupérer événement sur sélection dans un sous formulaire Access


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 61
    Points
    61
    Par défaut Récupérer événement sur sélection dans un sous formulaire Access
    Bonjour,

    J’ai une application que je dois modifier sous Access, j’ai donc un formulaire avec un sous formulaire, je souhaiterais rendre impossible la sélection de cellules (plus d'une). Je pensais donc récupérer l’événement de sélection d’une ou plusieurs cellules dans ce sous formulaire, puis l’annuler.
    Mon problème c’est que je ne sais pas si cela est techniquement possible, mais si oui quel serait l’instruction type pour récupérer un événement "onselection", si quelqu’un a une idée là-dessus !

    Merci !

  2. #2
    Membre habitué
    Homme Profil pro
    Activités informatiques diverses
    Inscrit en
    Février 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Activités informatiques diverses
    Secteur : Service public

    Informations forums :
    Inscription : Février 2007
    Messages : 153
    Points : 188
    Points
    188
    Par défaut
    Bonsoir.
    Je ne suis pas sûr d'avoir bien compris la demande, mais s'il s'agit simplement d'interdire à l'utilisateur de modifier le contenu des champs du sous-formulaire, il suffit de modifier les propriétés des dits champs.
    Cordialement, Dominique.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    Bonjour,

    Merci de ta réponse, en faites je ne veux pas interdire la modification mais la sélection multiple, pour éviter de faire un copier coller des cellules pour des raison de protection des données. Je suis sous Access 2003.

    tu aurais une idée ?

  4. #4
    Membre habitué
    Homme Profil pro
    Activités informatiques diverses
    Inscrit en
    Février 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Activités informatiques diverses
    Secteur : Service public

    Informations forums :
    Inscription : Février 2007
    Messages : 153
    Points : 188
    Points
    188
    Par défaut
    Bonjour.
    Si j'ai bien compris ton problème, c'est d'interdire la copie de données à partir de ton sous-formulaire.
    Je te propose la solution suivante:
    -1 Inhiber le menu contextuel de ton sous-formulaire: Propriété Menu contextuel = Non
    -2 Dans l'évènement "sur touche appuyée" de chaque champ, installer une routine qui intercepte les combinaisons de touches "Ctrl + C" et "Ctrl + Insert" et vide le presse papier.
    Cela donne le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Declare Function CloseClipboard Lib "user32" () As Long
    Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function EmptyClipboard Lib "user32" () As Long
     
    Private Sub ViderPP()
      OpenClipboard Me.hwnd
      EmptyClipboard
      CloseClipboard
    End Sub
     
    Private Sub Champ1_KeyDown(KeyCode As Integer, Shift As Integer)
      If Shift = 2 And KeyCode = 67 Or Shift = 2 And KeyCode = 45 Then ViderPP
    End Sub
    Note: J'ai trouvé comment vider le presse papier dans http://www.developpez.net/forums/d15...se-papier-vba/
    Merci à Olivier Regnier.
    Cordialement, Dominique

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    Bonjour,

    Désolé pour le retard de ma réponse, j'étais sur plusieurs projets à la fois.
    Je viens de mettre en œuvre ta technique, elle fonctionne parfaitement.
    L'idée est très ingénieuse !

    Merci beaucoup !

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/06/2015, 13h58
  2. [AC-2003] Sélection dans un sous formulaire pour ouvrir un formulaire
    Par Jonkill dans le forum Access
    Réponses: 18
    Dernier message: 01/12/2010, 16h15
  3. Réponses: 6
    Dernier message: 23/09/2010, 20h41
  4. Réponses: 2
    Dernier message: 17/06/2008, 20h55
  5. Réponses: 4
    Dernier message: 21/11/2006, 23h10

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