Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 09/12/2011, 09h31   #1
Membre habitué
 
Inscription : août 2005
Messages : 365
Détails du profil
Informations personnelles :
Âge : 44
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : août 2005
Messages : 365
Points : 105
Points : 105
Par défaut code sur double clic de tous les controles d'un formulaire

Bonjour

J'ai une soixantaine de controles dans mon formulaire que j'ai nommé
monchamp1, monchamp2,...,monchamp60

J'aimerai exécuter le même code sur le double clic de chaque champ.
Quel est le moyen de rentrer un seul code plutôt que de rentrer le code pour chaque double clic du champ. Je pense à un truc du style:

Code :
1
2
3
4
5
6
7
 
Dim Ctrl As Control
 
For Each Ctrl In Me.Controls
   'on dblclick
   'mon code
Next Ctrl
Merci par avance
docjo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2011, 12h11   #2
Membre éclairé
 
Homme Michel
Développeur informatique
Inscription : février 2008
Messages : 263
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : février 2008
Messages : 263
Points : 309
Points : 309
Peut-être quelque chose comme :


Dans un module à part :
Code :
1
2
3
Public Sub MonCodeCommun ()
' là ton code
End sub
Et dans le double clic de chacun de tes champs tu mets simplement
Code :
MonCodeCommun 'Call du Sub
Michel
Orion34080 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2011, 19h53   #3
Membre habitué
 
Inscription : août 2005
Messages : 365
Détails du profil
Informations personnelles :
Âge : 44
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : août 2005
Messages : 365
Points : 105
Points : 105
Merci pour le conseil mais en fait, c'est justement pour eviter les 60 codes sur double clic.
J'avais pensé au module: peut être avec un code intégrant une fonction double clic mais j'ai pas trouvé.
docjo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2011, 20h30   #4
Membre confirmé
 
Avatar de lelensois16
 
Homme Romain M.
Étudiant
Inscription : avril 2009
Messages : 167
Détails du profil
Informations personnelles :
Nom : Homme Romain M.
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 167
Points : 204
Points : 204
Bonjour,

Ceci est possible mais faudra passer par des modules de classes...
le hic c'est que je maitrise pas encore ces notions , mais je suis persuadé qu'il faut passer par ces notions.

Bien cdt
lelensois16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 07h41   #5
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 958
Points : 30 958
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour


Tu peux tester cela :

Déclare une fonction publique :

Code :
1
2
3
Public Function test()
    MsgBox "toto"
End Function
Ensuite sur l'ouverture de ton formulaire mets ce code :

Code :
1
2
3
4
5
6
7
8
9
10
Private Sub Form_Load()
 
    Dim objCtrl As Control
    For Each objCtrl In Me.Controls
        With objCtrl
            .OnDblClick = "=test()"
        End With
    Next objCtrl
 
End Sub
Maintenant fais un double-click sur les contrôles pour voir si cela correspond à ce que tu souhaites.

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 02h02   #6
Invité de passage
 
Homme
Inscription : décembre 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : décembre 2011
Messages : 3
Points : 1
Points : 1
Merci pour le code, marche très bien

trouve très pratique
Serico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2011, 01h08   #7
Membre habitué
 
Inscription : août 2005
Messages : 365
Détails du profil
Informations personnelles :
Âge : 44
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : août 2005
Messages : 365
Points : 105
Points : 105
Genialissime !
Cela fonctionne aussi sur . onafterupdate ? D'autres évènements ?
docjo 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 01h12.


 
 
 
 
Partenaires

Hébergement Web