Liste droulante

Résolu
cartman73240 -  
RV71 Messages postés 656 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je ne sais pas trop comment exprimer mon problème mais je tente.
J'ai une liste deroulante comprenant un ID, Une designation, un prix unitaire.
Je souhaiterais pouvoir, dans un sous formulaire, les affecter à un champ spécifique.
Pour moi le code VBA associé serait
Private Sub ID_TARIF_AfterUpdate()
Me(DESIGNATION) = Me(ID_TARIF).columns(1)
Me(DESIGNATION) = Me(PRIX_UNITAIRE).columns(2)
End Sub
Pour autant j'ai un message d'erreur:
l'expression après maj entrée comme propriété d'evenement est à l'origine d'une erreur. l'objet ou la classe ne gere pas le jeu d'evenement.

Pouvez vous m'aider à traduire ce message svp?
Belle journée

Configuration: Windows / Chrome 85.0.4183.102
A voir également:

9 réponses

RV71 Messages postés 656 Date d'inscription   Statut Membre Dernière intervention   31
 
Bonjour,
utilises les balises de code (basic) pour poster ton extrait de code...

Private Sub ID_TARIF_AfterUpdate()
Me(DESIGNATION) = Me(ID_TARIF).columns(1)
Me(DESIGNATION) = Me(PRIX_UNITAIRE).columns(2)
End Sub


1/ Tu as mis 2 fois le controle designation
2/ Il manque les "."
3/ Il y a un "s" en trop à la fin de column
4/ Je ne comprends pas pourquoi tu fais prix_unitaire.colum(2) ? La zone de liste a changé de nom ??????

Ca devrait mieux fonctionner en faisant (en supposant que la zone de liste se nomme id_tarif) :
Private Sub ID_TARIF_AfterUpdate()
Me.DESIGNATION = Me.ID_TARIF.column(1)
Me.AUTRECONTROLE = Me.ID_TARIF.column(2)
End Sub


A+
0
cartman73240
 
Bonjour RV71,

Je te remercie de ta reponse mais j'ai toujours le même message d'erreur qui apparait.
Je te confirme que ma zone de liste se nomme bien ID_TARIF.
Je seche et cela fait depuis ce matin que je me galère. .. :(
0
RV71 Messages postés 656 Date d'inscription   Statut Membre Dernière intervention   31
 
Tu peux faire un copier coller de ton code stp (en utilisant les balises de code basic) ?

A+
0
cartman73240
 
Je ne sais pas faire... desolé,

Private Sub ID_TARIF_AfterUpdate()
Me.DESIGNATION = Me.ID_TARIF.Column(1)
Me.AUTRECONTROLE = Me.ID_TARIF.Column(2)
End Sub

J'ai recopié ce que tu m'as donné. pour moi l'erreur vient d'autre chose que le code en lui même.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, à quel moment me message d'erreur apparaît-il? as-tu partagé le texte exact du message?
j'ai l'impression qu'il n'est pas lié à ton code VBA.
que te proposes le message d'erreur?
0
cartman73240
 
le message d'erreur est le suivant :l'expression après mise à jour entrée comme paramètre de la propriété d'evenement est à l'origine de l'erreur l'objet ou la classe ne gere pas le jeu d'evenement
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
à quel moment le message d'erreur apparaît-il?
que te proposes le message d'erreur?
0
cartman73240 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Il intervient au moment ou je rentre ma donnée. je selectionne ma valeur et le message apparait a ce moment
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > cartman73240
 
que te proposes le message d'erreur?
0
cartman73240 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Tu veux dire, a part d'aller me faire f*****? lol
alors le resultat de l 'expression n'est pas le nom d'une macro, le nom d'une fonction definie par l'utilisateur ou event procedure
une erreur a peut etre ete commise lors de l'evaluation d'une fonction, d'un evenement ou d'une macro
0

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

Posez votre question
RV71 Messages postés 656 Date d'inscription   Statut Membre Dernière intervention   31
 
Tu ne peux pas faire un copier / coller ?

Le code que je t'ai donné comporte AUTRECONTROLE, et je doute que ce soit le nom de ton controle...

Aussi, il faudrait que tu donnes le contenu de la zone de texte (mode création de formulaire, ligne 'contenu').

Sans cela, difficile de pouvoir t'aider.

Au pire, mets ta base à disposition via un lien cjoint --> https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers

A+
0
cartman73240
 
https://www.cjoint.com/c/JItpoLI1Nk8
0
RV71 Messages postés 656 Date d'inscription   Statut Membre Dernière intervention   31
 
Dans la requête source de ton formulaire pourquoi mets tu des alias des champs ?
SELECT T_FACTURE.ID_FACTURE, T_FACTURE.DATE_D_INTERVENTION, T_FACTURE.ID_DATE_FACTURE AS T_FACTURE_ID_DATE_FACTURE, T_FACTURE.ID_TARIF, T_FACTURE.DESIGNATION, T_FACTURE.QUANTITE, T_FACTURE.PRIX_UNITAIRE, T_FACTURE.TOTAL_LIGNE, T_DATE_FACTURE.ID_DATE_FACTURE AS T_DATE_FACTURE_ID_DATE_FACTURE
FROM T_DATE_FACTURE INNER JOIN T_FACTURE ON T_DATE_FACTURE.[ID_DATE_FACTURE] = T_FACTURE.[ID_DATE_FACTURE];


Aussi, il y a un souci avec ton sous-formulaire sf_facture, tout du moins avec la requête source.
Le message d'erreur est trompeur, en effet, il s'agit non pas d'un souci sur le code lui-même mais bien de la structure des champs père/fils des forms/sous-form.

A+
0
cartman73240
 
De ton point de vue, comment puis regler cela?
0
RV71 Messages postés 656 Date d'inscription   Statut Membre Dernière intervention   31 > cartman73240
 
Il faut reprendre les bases du fonctionnement des sous-formulaires :)

Dans ton formulaire SF_DATE_FACTURE, "relie" le sous-formulaire SF_FACTURE par les champs père / fils ID_DATE_FACTURE. (mode création, propriétés du sous-formulaire SF_FACTURE, champs pères et champs fils)

A+
0
RV71 Messages postés 656 Date d'inscription   Statut Membre Dernière intervention   31 > RV71 Messages postés 656 Date d'inscription   Statut Membre Dernière intervention  
 
Sans oublier de modifier la relation dans la requête source de ton sous-formulaire. Au passage, tu peux éliminer les alias des champs...
0
cartman73240 > RV71 Messages postés 656 Date d'inscription   Statut Membre Dernière intervention  
 
Je désespère... ça ne marche pas... Je peux pleurer?
0
RV71 Messages postés 656 Date d'inscription   Statut Membre Dernière intervention   31
 
Pas la peine de pleurer, on est samedi.

Tiens je t'ai remis cela d'aplomb, par contre, essaie de comprendre le fonctionnement des champs père/fils...
Pour rappel : http://www.info-3000.com/access/cours/lecon58/lecon58.php

Voici corrigé pour cette partie, je n'ai pas regardé le reste.

https://www.cjoint.com/c/JItqyqfBlNU

A+
0
cartman73240
 
Puis dresser un autel en ton honneur? :)
0
RV71 Messages postés 656 Date d'inscription   Statut Membre Dernière intervention   31 > cartman73240
 
Pas la peine, gardes ton temps pour réviser le fonctionnement des sous-formulaires :)

A+
0
RV71 Messages postés 656 Date d'inscription   Statut Membre Dernière intervention   31 > RV71 Messages postés 656 Date d'inscription   Statut Membre Dernière intervention  
 
Et aussi pour mettre la question en "résolue" du coup.

A+
0
cartman73240
 
et comment on fait pour mettre resolue?
0
RV71 Messages postés 656 Date d'inscription   Statut Membre Dernière intervention   31
 
Il y a un bouton en haut de mémoire :)
0