Bonjour,
j'ai un sous-formulaire et souhaite extraire en VBA la valeur d'une colonne sur l'enregistrement (ligne) sélectionné. Le besoin semble simple mais je n'arrive pas à trouver la réponse dans les différentes FAQ consultées.
Merci par avance.
Bonjour,
j'ai un sous-formulaire et souhaite extraire en VBA la valeur d'une colonne sur l'enregistrement (ligne) sélectionné. Le besoin semble simple mais je n'arrive pas à trouver la réponse dans les différentes FAQ consultées.
Merci par avance.
Si ton code VBA est placé direcctement dans ton sous-formulaire, un simle
suffira
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 me.nom_de_ta_colonne
En revanche si tu a un évènement sur ton formulaire père
alors il te faut faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 me.nom_de_ton_controle_sous_formulaire![nom_de_ta_colonne]
Merci pour cette réponse.
Dans le code VBA du sous-formulaire, pas de problème. Je récupère bien la valeur avec l'évènement "Activation".
Par contre, je n'arrive pas à récupérer, dans le formulaire père, la valeur de la colonne lorsque je sélectionne une autre ligne du sous-formulaire.
A ce moment-là, 2 choix :
soit sur l'évènement Activation de ton sous-formulaire tu mets un truc du genre
(mais je suis pas sûre qie ce soit uniquement pour afficher la colonne que tu veux la récupérer)
soit tu mets un évènement sur activation de ton formulaire père (ou sur clic ...) et là tu récupère ta colonne du sous-formulaire comme dit précédemment.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 forms("Nom_de_ton_fromulaire_père").controls("champ où tu veux afficher ta valeur récupérée") = me.nom_de_ta_colonne
Tu ne peux pas depuis le formulaire parent détecté qu'il y a eu un évènement dans ton formulaire fils
J'ai réussi à renseigner un contrôle textbox (txtTest) avec la valeur de la colonne souhaitée.
Mais il me manque la détection de l'évènement de changement. L'évènement AfterUpdate n'est pas déclenché lorsque la textBox est mise à jour !
Code : Sélectionner tout - Visualiser dans une fenêtre à part Me.txtTest.ControlSource = "=me.nom_de_ton_controle_sous_formulaire![nom_de_ta_colonne]"
en effet l'évènement n'est soulevé que lorsque tu fais une modification manuelle mais tu peux l'appeler dans ton code VBA
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Me.txtTest.ControlSource = "=me.nom_de_ton_controle_sous_formulaire![nom_de_ta_colonne]" Call txtTest_AfterUpdate
Ok merci beaucoup et bonne journée
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager