une fonction avec deux valeurs en retour

Le
Le Nordiste
Bonjour à tous,

Comment faire en sorte qu'une fonction retourne deux valeurs ?

Je passe un string - comme parametre- à l'appel de la fonction
je désire en retour deux variables un booléen et une string.

-attention au dérapage-

Remerciements anticipés,
Le Nordiste
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Thierry (ze Titi)
Le #6393771
Bonjour Le Nordiste

Selon moi, une fonction ne peut retourner qu'une valeur. Mais tu peux
très bien renvoyer une chaîne de caractères contenant ce que tu veux,
le tout séparé par un caractère défini. Avec la fonction Split, tu
récupères ensuite tes deux valeurs.

Dans ton message du lundi 17/09/2007 jour de Saint Renaud, tu as pris l'initiative de
nous narrer les faits suivants:
Bonjour à tous,

Comment faire en sorte qu'une fonction retourne deux valeurs ?

Je passe un string - comme parametre- à l'appel de la fonction
je désire en retour deux variables un booléen et une string.

-attention au dérapage-

Remerciements anticipés,
Le Nordiste


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Pierre CFI [mvp]
Le #6393681
bonjour
on peut detourner le pb en affectant des valeurs à des variables publics,
lors de l'appel de fonction

Public a as string, b as integer

function zetiti(Tisane as string)

If Tisane = "Jolie nana" then
a= "Ben dis donc"
b = 120
zetiti = "Ben voyons"
else
a= "Pas aussi laide que 3stone""
b = 1
zetiti = "Tiens voila du boudin"
end function
......

--
Pierre
MVP Access
***************************************
Conseils MPFA: http://www.mpfa.info/
*********************************************************
"Thierry (ze Titi)" message de news:
Bonjour Le Nordiste

Selon moi, une fonction ne peut retourner qu'une valeur. Mais tu peux très
bien renvoyer une chaîne de caractères contenant ce que tu veux, le tout
séparé par un caractère défini. Avec la fonction Split, tu récupères
ensuite tes deux valeurs.

Dans ton message lundi 17/09/2007 jour de Saint Renaud, tu as pris l'initiative de nous
narrer les faits suivants:
Bonjour à tous,

Comment faire en sorte qu'une fonction retourne deux valeurs ?

Je passe un string - comme parametre- à l'appel de la fonction
je désire en retour deux variables un booléen et une string.

-attention au dérapage-

Remerciements anticipés,
Le Nordiste


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info





pbserv
Le #6393651
bonjour,
Voici d'autres solutions :

si votre fonction est dans un module standard, elle peut retourner un
type public défini par l'utilisateur.
exemple :
Public Type MesVars
s As String
l As Long
End Type

Public Function MaFunc() As MesVars
MaFunc.s = "azerty"
MaFunc.l = 10
End Function

Une autre solution consiste a renvoyer un tableau de variant.
exemple :
Public Function MaFunc2() As Variant
MaFunc2 = Array("qwerty", 20)
End Function

Enfin, on peut passer une variable par référence pour récupérer son
contenu.
exemple:
Public Function MaFunc3(ByRef x As String) As Long
x = "az"
MaFunc3 = 30
End Function

Appel des 3 fonctions :
Dim v As Variant
Dim t As MesVars
Dim s As String
Dim l As Long

t = MaFunc
Debug.Print t.s
Debug.Print t.l

v = MaFunc2
Debug.Print v(0)
Debug.Print v(1)

l = MaFunc3(s)
Debug.Print s
Debug.Print l

pb

On 17 sep, 16:57, "Pierre CFI [mvp]" wrote:
bonjour
on peut detourner le pb en affectant des valeurs à des variables public s,
lors de l'appel de fonction

Public a as string, b as integer

function zetiti(Tisane as string)

If Tisane = "Jolie nana" then
a= "Ben dis donc"
b = 120
zetiti = "Ben voyons"
else
a= "Pas aussi laide que 3stone""
b = 1
zetiti = "Tiens voila du boudin"
end function
......

--
Pierre
MVP Access
***************************************
Conseils MPFA:http://www.mpfa.info/
*********************************************************
"Thierry (ze Titi)" message denews: mn.8bcd7d7928c586cc.64__BEGIN_MASK_n#9g02mG7!__...__END_M ASK_i?a63jfAD$



Bonjour Le Nordiste

Selon moi, une fonction ne peut retourner qu'une valeur. Mais tu peux t rès
bien renvoyer une chaîne de caractères contenant ce que tu veux, le tout
séparé par un caractère défini. Avec la fonction Split, tu ré cupères
ensuite tes deux valeurs.

Dans ton message lundi 17/09/2007 jour de Saint Renaud, tu as pris l'initiative de nous
narrer les faits suivants:
Bonjour à tous,

Comment faire en sorte qu'une fonction retourne deux valeurs ?

Je passe un string - comme parametre- à l'appel de la fonction
je désire en retour deux variables un booléen et une string.

-attention au dérapage-

Remerciements anticipés,
Le Nordiste


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -




Thierry (ze Titi)
Le #6393501
Bonjour Pierre !

Tu ne postes pas souvent mais quand tu postes, ça vaut le coup ! :o)

Message du lundi 17/09/2007

bonjour
on peut detourner le pb en affectant des valeurs à des variables publics,
lors de l'appel de fonction

Public a as string, b as integer

function zetiti(Tisane as string)

If Tisane = "Jolie nana" then
a= "Ben dis donc"
b = 120
zetiti = "Ben voyons"
else
a= "Pas aussi laide que 3stone""
b = 1
zetiti = "Tiens voila du boudin"
end function
......

--
Pierre
MVP Access
***************************************
Conseils MPFA: http://www.mpfa.info/
*********************************************************
"Thierry (ze Titi)" de news:
Bonjour Le Nordiste

Selon moi, une fonction ne peut retourner qu'une valeur. Mais tu peux très
bien renvoyer une chaîne de caractères contenant ce que tu veux, le tout
séparé par un caractère défini. Avec la fonction Split, tu récupères
ensuite tes deux valeurs.

Dans ton message lundi 17/09/2007 jour de Saint Renaud, tu as pris l'initiative de nous
narrer les faits suivants:
Bonjour à tous,

Comment faire en sorte qu'une fonction retourne deux valeurs ?

Je passe un string - comme parametre- à l'appel de la fonction
je désire en retour deux variables un booléen et une string.

-attention au dérapage-

Remerciements anticipés,
Le Nordiste


-- Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info





--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info



Pierre CFI [mvp]
Le #6393471
tiens, je viens juste de noter un jeu de mots involontaire, tisane en string
:o))

--
Pierre
MVP Access
***************************************
Conseils MPFA: http://www.mpfa.info/
*********************************************************
"Thierry (ze Titi)" message de news:
Bonjour Pierre !

Tu ne postes pas souvent mais quand tu postes, ça vaut le coup ! :o)

Message du lundi 17/09/2007

bonjour
on peut detourner le pb en affectant des valeurs à des variables publics,
lors de l'appel de fonction

Public a as string, b as integer

function zetiti(Tisane as string)

If Tisane = "Jolie nana" then
a= "Ben dis donc"
b = 120
zetiti = "Ben voyons"
else
a= "Pas aussi laide que 3stone""
b = 1
zetiti = "Tiens voila du boudin"
end function
......

--
Pierre
MVP Access
***************************************
Conseils MPFA: http://www.mpfa.info/
*********************************************************
"Thierry (ze Titi)" message de news:
Bonjour Le Nordiste

Selon moi, une fonction ne peut retourner qu'une valeur. Mais tu peux
très bien renvoyer une chaîne de caractères contenant ce que tu veux, le
tout séparé par un caractère défini. Avec la fonction Split, tu
récupères ensuite tes deux valeurs.

Dans ton message du lundi 17/09/2007 jour de Saint Renaud, tu as pris l'initiative de
nous narrer les faits suivants:
Bonjour à tous,

Comment faire en sorte qu'une fonction retourne deux valeurs ?

Je passe un string - comme parametre- à l'appel de la fonction
je désire en retour deux variables un booléen et une string.

-attention au dérapage-

Remerciements anticipés,
Le Nordiste


-- Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info





--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info







Thierry (ze Titi)
Le #6393411
Pourquoi cela ne me surprend-t-il pas ? ;o)

Message du mardi 18/09/2007

tiens, je viens juste de noter un jeu de mots involontaire, tisane en string
:o))

--
Pierre
MVP Access
***************************************
Conseils MPFA: http://www.mpfa.info/
*********************************************************
"Thierry (ze Titi)" de news:
Bonjour Pierre !

Tu ne postes pas souvent mais quand tu postes, ça vaut le coup ! :o)

Message du lundi 17/09/2007

bonjour
on peut detourner le pb en affectant des valeurs à des variables publics,
lors de l'appel de fonction

Public a as string, b as integer

function zetiti(Tisane as string)

If Tisane = "Jolie nana" then
a= "Ben dis donc"
b = 120
zetiti = "Ben voyons"
else
a= "Pas aussi laide que 3stone""
b = 1
zetiti = "Tiens voila du boudin"
end function
......

--
Pierre
MVP Access
***************************************
Conseils MPFA: http://www.mpfa.info/
*********************************************************
"Thierry (ze Titi)" message de news:
Bonjour Le Nordiste

Selon moi, une fonction ne peut retourner qu'une valeur. Mais tu peux
très bien renvoyer une chaîne de caractères contenant ce que tu veux, le
tout séparé par un caractère défini. Avec la fonction Split, tu récupères
ensuite tes deux valeurs.

Dans ton message lundi 17/09/2007 jour de Saint Renaud, tu as pris l'initiative de nous
narrer les faits suivants:
Bonjour à tous,

Comment faire en sorte qu'une fonction retourne deux valeurs ?

Je passe un string - comme parametre- à l'appel de la fonction
je désire en retour deux variables un booléen et une string.

-attention au dérapage-

Remerciements anticipés,
Le Nordiste


-- Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info





-- Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info





--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info





Le Nordiste
Le #6393361
Merci pour vos suggestion j'ai choisi le tableau de variant.

je note les autres possibilités décrites par Pierre, ça me sera utile
un jour ou l'autre.


Le Nordiste
Publicité
Poster une réponse
Anonyme