Code vba pour access

Résolu
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 - 8 sept. 2005 à 21:33
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 - 10 sept. 2005 à 20:04
Bonsoir tout le monde

Je voudrai copié des élément d'une zone de text à une autre situé dans un autre formulair

j'ai 2 formulaire

-formajout
-entre_eva_autonomie

Deux zone de texte

texte10->formajout
texte2->entrer_eva_autonomie

J'ai fais un code, mai il ne fonctionne pas:

Au test

Il me répond:

erreur d'execution '424'

Il dit Objet requis.

Quand je click sur débogage, il selectionne 'entrer_eva_autonomie.Texte2.Text = Texte10.Text'

Voici le code:

Private Sub Texte10_BeforeUpdate(Cancel As Integer)

entrer_eva_autonomie.Texte2.Text = Texte10.Text

End Sub

Pouvez vous m'aidez svp?

Merci

Cordialement

A bientôt

19 réponses

smicky77 Messages postés 2 Date d'inscription vendredi 9 septembre 2005 Statut Membre Dernière intervention 10 septembre 2005
10 sept. 2005 à 17:34
1 - Ton premier formulaire "formajout" doit toujours être ouvert
2 - Le nom de ton deuxième formulaire ne doit pas commencer par Form (mot réservé)
3 - Ensuite tu mets le code ci-dessous dans la propriété évènements du deuxième formulaire (Sur activation du formulaire "entrer_eva_autonomie")


Private Sub Form_Current()
Me.Texte2 = Forms!formajout!texteNOM.Value
End Sub

J'ai testé ça marche

Alain
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 sept. 2005 à 22:03
salut,
vérifie le nom de tes contrôles.
es-tu certains qu'ils sont avec un "e" ?
Text20 Text2 Texte20 Texte2 ...
PCPT
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 sept. 2005 à 22:05
ou peut-être aussi :
entrer_eva_autonomie.Texte2.Text = formajout.Texte10.Text
PCPT
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
9 sept. 2005 à 06:03
Bonjour tout le monde

Il y a bien un "e" à la fin de texte.

Je n'ai pas mis formajout car le code est dans formajout.

y a t'il un solution?

Cordialement

A bientôt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Doro81079 Messages postés 380 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 24 février 2015 56
9 sept. 2005 à 06:14
bonjour,

j'ai eu le meme probleme ce code ne marche pas en vba alors que oui en vb6
j'ai pas trouver la solution mais j'ai pas vraiment chercher essais de voir dans l'aide d'access a tout hasard

salut
doro
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
9 sept. 2005 à 06:19
Rebonjour tout le monde

Je vais essayer de voir si il ya un moyen avec les tables.

Merci

Cordialement

A bientôt
0
smicky77 Messages postés 2 Date d'inscription vendredi 9 septembre 2005 Statut Membre Dernière intervention 10 septembre 2005
9 sept. 2005 à 09:19
Salut,

N'oublie pas que pour récupérer une donnée de formulaire, il faut que celui-ci (formajout) soit ouvert.

Alain
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
9 sept. 2005 à 21:17
Bonsoir tout le monde

En modifiant le code ainsi, vba n'a fai aucune erreur.

Private Sub texteNOM_change()


Form_entrer_eva_autonomie.Texte2.Text = Texte10.Text

End Sub

Mais, élace rien ne n'affiche, je souhaiterai que sa s'affiche l'or de l'ouverture du formulaire Form_entrer_eva_autonomie.

Merci

Cordialement

A bientôt
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
9 sept. 2005 à 21:44
salut,

les évènements retournées par les objets, il ne faut pas les inventer....

texteNOM_Change() ne se produit qu'au changement du .Text de texteNOM

forcément, tu n'as pas d'erreur, surtout si textNOM n'existe pas. puisqu'aucun évènement n'est retourné....

"je souhaiterai que sa s'affiche"
c'est quoi, un formulaire? lequel ?

si tu veux qu'un TxtBox reçoive la valeur d'un autre, tu auras une erreur '424' si un des 2 (au moins) n'existe pas.
mais pour l'affichage, faut expliquer....

PCPT
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
9 sept. 2005 à 22:50
Rebonsoir tout le monde

Je réexplique, je veux tapper un Nom dans la zone de text 'textNOM' qui se trouve sur le formulaire formajout et je souhaiterai que le Nom apparaisse dans la zone de text du formulaire Form_entrer_eva_autonomie.

Voici le code tel qui les:

Private Sub texteNOM_change()


Form_entrer_eva_autonomie.Texte2.Text = texteNOM.Text

End Sub

Que dois je modifier?

Merci

Cordialement

A bientôt
0
Doro81079 Messages postés 380 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 24 février 2015 56
9 sept. 2005 à 23:14
bonsoir,


j'ai compris ce que tu veux faire mais le problème vient de la syntaxe


form_ajout.machin c'est pour vb6 et ça ne marche pas en vba....


j'ai peut etre ,je dit bien peut etre car je n'ai pas essayer, trouver la syntaxe donc tu essayes et tu me dis....

essayes (plusieurs solution):

dans le change comme tu as fait mais de cette façon:
Form_entrer_eva_autonomie!Texte2.Text = texte10.Text

ou alors dans le load (ou initialize)de la form eva_autonomie :
texte2.text=formajout!texte10.text

je ne te garantis rien mais j'ai trouver une ligne de code similaire
pour faire appel à un objet avec le nom du formulaire qui le contient

merci de me tenir au courant.....

salut
doro
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
9 sept. 2005 à 23:50
tu parles de "çà s'affiche"
tu n'aurais pas un peux oublier d'ouvrir la 2e Form avant?

et ton "texteNOM" a changé pour "textNOM" ?

voici la syntaxe en VB6. à adapter peut-être selon les conseils de Doro81079


'-----------------
' FORM1
'-----------------
'cette Form est la première à s'ouvrir.
'la propriété Name est "formajout"
'elle contient un TxtBox nommé "textNOM"

Private Sub Form_Load()
'on ouvre la 2e Form
Form_entrer_eva_autonomie.Show
End Sub
'
'
Private Sub textNOM_Change()
'lorque qu'une touche est saisie, le champs texte de la seconde
'Form en est affectée
Form_entrer_eva_autonomie.Texte2.Text = textNOM.Text
End Sub

'-----------------
' FORM2
'-----------------
'cette Form est la deuxième à s'ouvrir.
'sa propriété Name est "Form_entrer_eva_autonomie"
'son ouverture est commandée par le chargement [Form_Load] de la "formajout"
'elle contient un TxtBox nommé "Texte2"

Private Sub Form_Load()
'aucun code particulier....
End Sub



<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>


PCPT
0
Doro81079 Messages postés 380 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 24 février 2015 56
9 sept. 2005 à 23:50
re,

alors j'ai tester et ça marche pas la syntaxe que je t'ai donner donc j'ai regarder de plus prés et j'ai trouver alors j'ai creer 2 form
avec chacune une textbox

-formulaire 1 et texte0
-formulaire 2 et texte0

dans l'évenement click du form1
appel de form2

dans le load du form2
Texte0 = Forms!Formulaire1!Texte0.Text

attention pour les .text il faut le mettre pour le formulaire exterieur
car il est actif mais il ne faut pas le mettre pour le controñe dont le form est en train de charger car il n'est pas actif en vba si un controñe n'est pas encore charger on ne peut pas mettre .text

il ne te reste plus qu'a mettre dans les procédures suivant comment tu charge la feuille...

si tu n'as pas tout compris fais moi signe

salut
doro
0
Doro81079 Messages postés 380 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 24 février 2015 56
9 sept. 2005 à 23:54
re,

tu as raison pcpt pour le chargement de la form mais comme tu voit la syntaxe en vba est différente de celle en vb6....

salut
doro
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 sept. 2005 à 00:02
oui, ce n'est que pour donner une idée (s'il peut y avoir silimitude...)
je peux par faire plus, aucune connaissance en VBA (et sans regret)
PCPT
0
Doro81079 Messages postés 380 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 24 février 2015 56
10 sept. 2005 à 00:08
re,

'aucune connaissance en VBA (et sans regret)'tu as encore raison et pour le reste c'est toujours bon à savoir.....

salut
doro
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
10 sept. 2005 à 07:58
Bonjour tout le monde

Donc, je dois inverser le code, dois je le laisser dans formajout ou le mettre dans Form_entrer_eva_autonomie.

Voici le code, il est toujour dans formajout:

Private Sub Form_Load()


Form_entrer_eva_autonomie.Texte2.Text = texteNOM.Text


End Sub

Que dois je faire exactement?

Excusé moi da ma lenteur à comprendre.

Merci


Cordialement

A bientôt
0
Doro81079 Messages postés 380 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 24 février 2015 56
10 sept. 2005 à 15:57
bonjour,

déja tu oublis la syntaxe
Form_entrer_eva_autonomie.Texte2.Text = texteNOM.Text

c'est pour VB6 et pas VBA

la syntaxe je te l'ai donner plus haut

ensuite si tu veux que l'on te dise dans quelle procédure et dans quel sens mettre la syntaxe
il faut que tu nous dise comment tu charge la form eva avec un bouton ??? ou autre si elle est charger en meme temps que l'autre etc...
qu'est ce qui se passe dans ton appli???

salut
doro
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
10 sept. 2005 à 20:04
Bonsoir tout le monde

Ca fonctionne smicky77

Merci

Cordialement

A bientôt
0
Rejoignez-nous