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 15/12/2010, 21h24   #1
Membre à l'essai
 
Inscription : juillet 2008
Messages : 59
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : juillet 2008
Messages : 59
Points : 20
Points : 20
Par défaut VBA copier une valeur vers un champ

J'ai un formulaire (frmpr1) composé de deux sous formulaires (frm1 et frm2)
Dans ces sous formulaires il n'y qu'un seul champ t1 et t2 respectivement pour frm1 et frm2

Dans le formulaire frmpr1 je voudrais qu'au clic sur un bouton, la valeur du champ t2 soit copié dans le champ t1. J'ai donc fait le code "boiteux" ci-dessous qui ne fonctionne qu'une fois sur 10, en fonction d'ou est le focus au moment du clic. Lorsque ça ne marche pas j'obtiens l'erreur 2046, la commande ou l'action "Copier" n'est pas disponible pour l'instant"

Code :
1
2
3
4
5
6
7
8
Private Sub Commande2_Click()
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 (sauvegarde l'enregistrement de t2)
Me.frm2.SetFocus 
DoCmd.RunCommand acCmdCopy
Me.frm1.SetFocus
DoCmd.RunCommand acCmdPaste
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 (sauvegarde l'enregistrement de t1)
End Sub
Je n'ai pas de base en VBA, je ne peux que reprendre ce que je trouve à droite et à gauche et faire des adaptations mineurs.

Merci pour votre aide
Jonkill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 09h05   #2
Membre confirmé
 
Jacques Lesueur
Inscription : mai 2006
Messages : 180
Détails du profil
Informations personnelles :
Nom : Jacques Lesueur

Informations forums :
Inscription : mai 2006
Messages : 180
Points : 209
Points : 209
Bonjour,
Tout simplement :
Code :
1
2
3
Private Sub Commande2_Click()
Me.frm1.form.T1 = Me.frm2.form.T2  
End Sub
Jack78960 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 15h04   #3
Membre à l'essai
 
Inscription : juillet 2008
Messages : 59
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : juillet 2008
Messages : 59
Points : 20
Points : 20
Excellent Merci

J'ai ajouté ceci sous ton code pour enregistrer le changement

Code :
1
2
Me.frm1.SetFocus
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Merci
Jonkill 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 05h12.


 
 
 
 
Partenaires

Hébergement Web