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

Variable pour le nom d'un formulaire

8 réponses
Avatar
michael
Bonjour
J'ai des partie de codes communes à plusieurs formulaires, pour pas devoir
réécrire le même code, y a ti'l moyen de mettre les noms de formulaire dans
une variables?? j'ai essaier mais ca ne marche pas...
Y a t'il un moyen d'y ariver quand même??
merci d'avance

8 réponses

Avatar
Christian Hugoud
Je ne suis pas certain de bien comprendre...

Option 1 : tu passes le formulaire dans une variable déclarée as Form, et
dans le code tu la récupères (en fait tu récupères le formulaire).

Option 2 : tu passes le nom du formulaire (f.name je pense), et après tu
fais une boucle dans ta procédure pour récupérer le formulaire qui a le même
nom que celui que tu cherches, en interrogeant l'objet formS. C'est plus
lourd.

Christian

"michael" a écrit dans le message de
news:
Bonjour
J'ai des partie de codes communes à plusieurs formulaires, pour pas devoir
réécrire le même code, y a ti'l moyen de mettre les noms de formulaire
dans
une variables?? j'ai essaier mais ca ne marche pas...
Y a t'il un moyen d'y ariver quand même??
merci d'avance


Avatar
michael
merci pour la réponse rapide, mais j'ai pas tout saisi...lol
Un petit exemple simple pour mieux comprendre se que je veux faire:
deux formulaire, avec chacun un bouton de commande
premier formulaire:

Private Sub Command1_Click()
ChangeCaption
End Sub

Deuxième formulaire
Private Sub Command1_Click()
ChangeCaption
End Sub

Comme les deux font exactement la même chose, mettre en caption "nom de
formulaire" au deux formulaire, je me demandais si il y avais moyen de
condensé le code pour qu'il récupère quelquepart le formulaire 1 ou 2 en
fonction de l'utilisation:
dans le module:

Sub ChangeCaption()
Form1.Caption = "nom de formulaire"
Form2.Caption = "nom de formulaire"
End Sub

et je voudrais donc réduire à une seule commande (mon code est evidemment
beaucoup plus long que cette exemple), ou il reprendrais le numero du
formulaire, le 1 ou le 2.
Voilà si c'est un peu plus claire?
merci



"Christian Hugoud" wrote:

Je ne suis pas certain de bien comprendre...

Option 1 : tu passes le formulaire dans une variable déclarée as Form, et
dans le code tu la récupères (en fait tu récupères le formulaire).

Option 2 : tu passes le nom du formulaire (f.name je pense), et après tu
fais une boucle dans ta procédure pour récupérer le formulaire qui a le même
nom que celui que tu cherches, en interrogeant l'objet formS. C'est plus
lourd.

Christian

"michael" a écrit dans le message de
news:
> Bonjour
> J'ai des partie de codes communes à plusieurs formulaires, pour pas devoir
> réécrire le même code, y a ti'l moyen de mettre les noms de formulaire
> dans
> une variables?? j'ai essaier mais ca ne marche pas...
> Y a t'il un moyen d'y ariver quand même??
> merci d'avance





Avatar
LE TROLL
Bonjour,

Alors, ta partie de code tu peux l'appeler quand même

'form1
Public variable as string
sub codeCommun()
variable = "bonjour"
end sub

'form2
call form1.codeCommun
msgbox form1.variable ' = bonjour
--------------------------

Pour les variables, tu peux utiliser des variables de type public (non
indicées), soit:

'form1
public maVariable as string

'form2
form1.maVariable = x

---------------------------

En suite tu peux par exemple piloter tes feuilles par la variable public,
exemple:
'form1
Public feuillesOuvertes as string
load form2
feuillesOuvertes = "2"
form2.show

'form2
if form1.feuillesOuvertes = "2" then ...


--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"michael" a écrit dans le message de
news:
| Bonjour
| J'ai des partie de codes communes à plusieurs formulaires, pour pas devoir
| réécrire le même code, y a ti'l moyen de mettre les noms de formulaire
dans
| une variables?? j'ai essaier mais ca ne marche pas...
| Y a t'il un moyen d'y ariver quand même??
| merci d'avance
Avatar
Jacques93
Bonjour michael,
michael a écrit :
merci pour la réponse rapide, mais j'ai pas tout saisi...lol
Un petit exemple simple pour mieux comprendre se que je veux faire:
deux formulaire, avec chacun un bouton de commande
premier formulaire:

Private Sub Command1_Click()
ChangeCaption



ChangeCaption Me, "Nom1" ' Passage de l'objet
formulaire en paramètre

End Sub

Deuxième formulaire
Private Sub Command1_Click()
ChangeCaption



ChangeCaption Me, "Nom2" ' Passage de l'objet
formulaire en paramètre

End Sub

Comme les deux font exactement la même chose, mettre en caption "nom de
formulaire" au deux formulaire, je me demandais si il y avais moyen de
condensé le code pour qu'il récupère quelquepart le formulaire 1 ou 2 en
fonction de l'utilisation:
dans le module:

Sub ChangeCaption()
Form1.Caption = "nom de formulaire"
Form2.Caption = "nom de formulaire"
End Sub




Sub ChangeCaption (frm As Form, s As String)
frm.Caption = s
End Sub

et je voudrais donc réduire à une seule commande (mon code est evidemment
beaucoup plus long que cette exemple), ou il reprendrais le numero du
formulaire, le 1 ou le 2.
Voilà si c'est un peu plus claire?
merci




--

Cordialement,

Jacques.
Avatar
Christian Hugoud
Pas mieux

"Jacques93" a écrit dans le message de news:
%
Bonjour michael,
michael a écrit :
merci pour la réponse rapide, mais j'ai pas tout saisi...lol
Un petit exemple simple pour mieux comprendre se que je veux faire:
deux formulaire, avec chacun un bouton de commande
premier formulaire:

Private Sub Command1_Click()
ChangeCaption



ChangeCaption Me, "Nom1" ' Passage de l'objet
formulaire en paramètre

End Sub

Deuxième formulaire
Private Sub Command1_Click()
ChangeCaption



ChangeCaption Me, "Nom2" ' Passage de l'objet
formulaire en paramètre

End Sub

Comme les deux font exactement la même chose, mettre en caption "nom de
formulaire" au deux formulaire, je me demandais si il y avais moyen de
condensé le code pour qu'il récupère quelquepart le formulaire 1 ou 2 en
fonction de l'utilisation:
dans le module:

Sub ChangeCaption()
Form1.Caption = "nom de formulaire"
Form2.Caption = "nom de formulaire"
End Sub




Sub ChangeCaption (frm As Form, s As String)
frm.Caption = s
End Sub

et je voudrais donc réduire à une seule commande (mon code est evidemment
beaucoup plus long que cette exemple), ou il reprendrais le numero du
formulaire, le 1 ou le 2.
Voilà si c'est un peu plus claire?
merci




--

Cordialement,

Jacques.


Avatar
Jacques93
Bonjour Christian Hugoud,
Christian Hugoud a écrit :
Pas mieux




C'est assez proche de l'option 1 que tu proposes ;-)

--

Cordialement,

Jacques.
Avatar
Christian Hugoud
C'est exactement cela

"Jacques93" a écrit dans le message de news:
%23j1b$
Bonjour Christian Hugoud,
Christian Hugoud a écrit :
Pas mieux




C'est assez proche de l'option 1 que tu proposes ;-)

--

Cordialement,

Jacques.


Avatar
michael
Merci mais finalement il y a quand même pas mal de différence j'ai du refaire
un code à part...
merci à tous

"LE TROLL" wrote:

Bonjour,

Alors, ta partie de code tu peux l'appeler quand même

'form1
Public variable as string
sub codeCommun()
variable = "bonjour"
end sub

'form2
call form1.codeCommun
msgbox form1.variable ' = bonjour
--------------------------

Pour les variables, tu peux utiliser des variables de type public (non
indicées), soit:

'form1
public maVariable as string

'form2
form1.maVariable = x

---------------------------

En suite tu peux par exemple piloter tes feuilles par la variable public,
exemple:
'form1
Public feuillesOuvertes as string
load form2
feuillesOuvertes = "2"
form2.show

'form2
if form1.feuillesOuvertes = "2" then ...


--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"michael" a écrit dans le message de
news:
| Bonjour
| J'ai des partie de codes communes à plusieurs formulaires, pour pas devoir
| réécrire le même code, y a ti'l moyen de mettre les noms de formulaire
dans
| une variables?? j'ai essaier mais ca ne marche pas...
| Y a t'il un moyen d'y ariver quand même??
| merci d'avance