Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/03/2011, 16h25   #1
Membre à l'essai
 
Inscription : décembre 2005
Messages : 120
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 120
Points : 23
Points : 23
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 !
thefutureisnow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 19h41   #2
Membre actif
 
Homme Dominique
Gestion parc machine, assistance informatique, développement Access, Excel...
Inscription : février 2007
Messages : 130
Détails du profil
Informations personnelles :
Nom : Homme Dominique
Âge : 56
Localisation : France, Puy de Dôme (Auvergne)

Informations professionnelles :
Activité : Gestion parc machine, assistance informatique, développement Access, Excel...
Secteur : Service public

Informations forums :
Inscription : février 2007
Messages : 130
Points : 161
Points : 161
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.
PapouDomi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 08h55   #3
Membre à l'essai
 
Inscription : décembre 2005
Messages : 120
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 120
Points : 23
Points : 23
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 ?
thefutureisnow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 16h23   #4
Membre actif
 
Homme Dominique
Gestion parc machine, assistance informatique, développement Access, Excel...
Inscription : février 2007
Messages : 130
Détails du profil
Informations personnelles :
Nom : Homme Dominique
Âge : 56
Localisation : France, Puy de Dôme (Auvergne)

Informations professionnelles :
Activité : Gestion parc machine, assistance informatique, développement Access, Excel...
Secteur : Service public

Informations forums :
Inscription : février 2007
Messages : 130
Points : 161
Points : 161
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 :
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
PapouDomi est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 17/03/2011, 12h04   #5
Membre à l'essai
 
Inscription : décembre 2005
Messages : 120
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 120
Points : 23
Points : 23
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 !
thefutureisnow est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h03.


 
 
 
 
Partenaires

Hébergement Web