Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récuperer valeur textbox liée a variable

3 réponses
Avatar
Frederic
Bonjour à tous,
j'ai a nouveau besoin de conseil pour mon application.(gestion de production)
Pour déclarer les quantités réellements consommées lors d'une
fabrication,j'ai créé un form (activé par la selection d'un produit), sur
lequel se crée autant de textbox qu'il y a de composant dans le produit(via
sa nomenclature). En face de chacune des textbox(matiere) il y a une textbox
vide dans laquelle l'opérateur saisi la consommation de ladite matiere.
Quand il click sur le bouton valider,je dois récuperer les valeurs saisies
pour chaque matieres afin de les défalquer du stock.
C'est cette opération qui me pose probleme, car mes textbox étant créées via
une variable msform.textbox dans un module, je ne sais pas comment les
appeller dans mon form pour récupérer leurs valeurs.
Code création des textbox:
T as msforms.textbox, Trep as msforms.textbox
Set T=formConsoMatiere.Controls.Add("forms.textbox.1","textbox"& j-1, TRUE)
With T
.Text=M
.Left=20
.
.
.
End with
j étant les lignes de composant de la nomenclature du produit, et M le nom
du composant.
Voila je ne sais pas si cela est clair....
Dans l'attente, je vous remerci de me consacrer un peu de temps et de savoir.
A+

3 réponses

Avatar
michdenis
Bonjour Frédéric,

Qu'est-ce qui t'empêche de leur donner un nom de ton choix ?
Comme tu les baptises toi-même, tu dois savoir comment les interpeller
dans ton code lorsque tu dois faire référence à ces derniers.


Dim T As MSForms.TextBox
Set T = UserForm1.Controls.Add("forms.textbox.1")
J = 2
With T
.Text = M
.Left = 20
.Name = "R" & J - 1
End With

MsgBox T.Name
Ou
MsgBox Controls("r1").Name


Salutations!





"Frederic" a écrit dans le message de news:

Bonjour à tous,
j'ai a nouveau besoin de conseil pour mon application.(gestion de production)
Pour déclarer les quantités réellements consommées lors d'une
fabrication,j'ai créé un form (activé par la selection d'un produit), sur
lequel se crée autant de textbox qu'il y a de composant dans le produit(via
sa nomenclature). En face de chacune des textbox(matiere) il y a une textbox
vide dans laquelle l'opérateur saisi la consommation de ladite matiere.
Quand il click sur le bouton valider,je dois récuperer les valeurs saisies
pour chaque matieres afin de les défalquer du stock.
C'est cette opération qui me pose probleme, car mes textbox étant créées via
une variable msform.textbox dans un module, je ne sais pas comment les
appeller dans mon form pour récupérer leurs valeurs.
Code création des textbox:
T as msforms.textbox, Trep as msforms.textbox
Set T=formConsoMatiere.Controls.Add("forms.textbox.1","textbox"& j-1, TRUE)
With T
.Text=M
.Left
.
.
.
End with
j étant les lignes de composant de la nomenclature du produit, et M le nom
du composant.
Voila je ne sais pas si cela est clair....
Dans l'attente, je vous remerci de me consacrer un peu de temps et de savoir.
A+
Avatar
Frederic
Cela fait 3 semaines que j'ai débuté en VBA et certaines évidences ne me
viennent pas toujours à l'esprit.
Merci pour ce rappel élémentaire.
Juste une précision: Comme les variable sont issues d'un module, pour les
utiliser sur mon form je dois les déclarer public n'est ce pas?
Merci et a+


Bonjour Frédéric,

Qu'est-ce qui t'empêche de leur donner un nom de ton choix ?
Comme tu les baptises toi-même, tu dois savoir comment les interpeller
dans ton code lorsque tu dois faire référence à ces derniers.


Dim T As MSForms.TextBox
Set T = UserForm1.Controls.Add("forms.textbox.1")
J = 2
With T
.Text = M
.Left = 20
.Name = "R" & J - 1
End With

MsgBox T.Name
Ou
MsgBox Controls("r1").Name


Salutations!





"Frederic" a écrit dans le message de news:

Bonjour à tous,
j'ai a nouveau besoin de conseil pour mon application.(gestion de production)
Pour déclarer les quantités réellements consommées lors d'une
fabrication,j'ai créé un form (activé par la selection d'un produit), sur
lequel se crée autant de textbox qu'il y a de composant dans le produit(via
sa nomenclature). En face de chacune des textbox(matiere) il y a une textbox
vide dans laquelle l'opérateur saisi la consommation de ladite matiere.
Quand il click sur le bouton valider,je dois récuperer les valeurs saisies
pour chaque matieres afin de les défalquer du stock.
C'est cette opération qui me pose probleme, car mes textbox étant créées via
une variable msform.textbox dans un module, je ne sais pas comment les
appeller dans mon form pour récupérer leurs valeurs.
Code création des textbox:
T as msforms.textbox, Trep as msforms.textbox
Set T=formConsoMatiere.Controls.Add("forms.textbox.1","textbox"& j-1, TRUE)
With T
.Text=M
.Left
..
..
..
End with
j étant les lignes de composant de la nomenclature du produit, et M le nom
du composant.
Voila je ne sais pas si cela est clair....
Dans l'attente, je vous remerci de me consacrer un peu de temps et de savoir.
A+





Avatar
michdenis
Bonjour Frédéric,

Une variable Public peut être appelée par tous les modules.

Une variable déclarée au niveau d'un module est accessible par tous les procédures
de ce module sans plus.

Attention, les variables déclarée au niveau d'un formulaire (userform1) ne conserve pas leur valeur lorsque
ce dernier est déchargé de la mémoire vive avec la commande Unload Userform1. Il est possible de
seulement masquer le formulaire avec Userform1.Hide et ainsi conserver la valeur des variables intactes.
La commande Userform1.show affiche à nouveau le formulaire.

Si dans ton code, tu utilises la commande "End", toutes les variables qu'elles soient Public ou non
sont réinitialées à 0 si la variable est de type numérique ou à "" si elle est de type texte.


Salutations!




"Frederic" a écrit dans le message de news:

Cela fait 3 semaines que j'ai débuté en VBA et certaines évidences ne me
viennent pas toujours à l'esprit.
Merci pour ce rappel élémentaire.
Juste une précision: Comme les variable sont issues d'un module, pour les
utiliser sur mon form je dois les déclarer public n'est ce pas?
Merci et a+


Bonjour Frédéric,

Qu'est-ce qui t'empêche de leur donner un nom de ton choix ?
Comme tu les baptises toi-même, tu dois savoir comment les interpeller
dans ton code lorsque tu dois faire référence à ces derniers.


Dim T As MSForms.TextBox
Set T = UserForm1.Controls.Add("forms.textbox.1")
J = 2
With T
.Text = M
.Left = 20
.Name = "R" & J - 1
End With

MsgBox T.Name
Ou
MsgBox Controls("r1").Name


Salutations!





"Frederic" a écrit dans le message de news:

Bonjour à tous,
j'ai a nouveau besoin de conseil pour mon application.(gestion de production)
Pour déclarer les quantités réellements consommées lors d'une
fabrication,j'ai créé un form (activé par la selection d'un produit), sur
lequel se crée autant de textbox qu'il y a de composant dans le produit(via
sa nomenclature). En face de chacune des textbox(matiere) il y a une textbox
vide dans laquelle l'opérateur saisi la consommation de ladite matiere.
Quand il click sur le bouton valider,je dois récuperer les valeurs saisies
pour chaque matieres afin de les défalquer du stock.
C'est cette opération qui me pose probleme, car mes textbox étant créées via
une variable msform.textbox dans un module, je ne sais pas comment les
appeller dans mon form pour récupérer leurs valeurs.
Code création des textbox:
T as msforms.textbox, Trep as msforms.textbox
Set T=formConsoMatiere.Controls.Add("forms.textbox.1","textbox"& j-1, TRUE)
With T
.Text=M
.Left
..
..
..
End with
j étant les lignes de composant de la nomenclature du produit, et M le nom
du composant.
Voila je ne sais pas si cela est clair....
Dans l'attente, je vous remerci de me consacrer un peu de temps et de savoir.
A+