Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives

Advertisement

 
 
LinkBack Outils de la discussion
Vieux 09/02/2005, 14h54   #1 (permalink)
Fabien
Guest
 
Messages: n/a
Par défaut Affecter une valeur dans une cellule depuis une fonction

Bonjour,

Je souhaiterais affecter le contenu d'une cellule par un Worksheets(...).Cells(...).Value="..." dans une fonction. Or, je recupere une erreur "#VALEUR!".
Le meme code execute depuis une macro Sub() fonctionne par contre.

En detail, voici mon code ecrit dans un module:

Sub sub_test()
Worksheets("Feuil1").Cells(1,2).Value = "titi"
End Sub

Function fonc_test()
Worksheets("Feuil1").Cells(1,2).Value = "toto"
fonc_test = "fin"
End Function

Dans la cellule A1, j'appelle la fonction "=fonc_test()" et j'obtiens l'erreur #VALEUR!. La cellule A2 ne contient pas "toto".
Par contre, lorsque je lance sub_test(), la cellule A2 contient bien "titi".

Avez-vous des infos sur ce type de comportement SVP?


Merci

Fabien
 
ANNONCES
Vieux 11/02/2005, 01h31   #2 (permalink)
jyM
Guest
 
Messages: n/a
Par défaut Re: Affecter une valeur dans une cellule depuis une fonction

salut Fabien,

je crois que tu devrais attendre "fin" dans ta cellule.
En fait, tu lui fais d'abord écrire "toto" dans la cellule et puis tu évalues la fonction à "fin" pour qu'elle te renvoie "fin" dans la cellule.

Mais surtout, je ne sais pas si tu peux écrire une fonction sans argument
genre >Function fonc_test(QUELQUE_CHOSE)<

vi vi, je viens d'essayer,
donne-lui à manger entre ses parenthèses,
ça se passera sûrement mieux.

salut
jyM
 
Vieux 11/02/2005, 11h25   #3 (permalink)
Fabien
Guest
 
Messages: n/a
Par défaut Re: Affecter une valeur dans une cellule depuis une fonction

Salut,

Merci pour ta reponse, mais en fait je n'avais pas suffisamment detaille mon pb.

En fait, le code que j'ai poste est un extrait simplifie d'une fonction plus longue que j'ai ecrit, et qui, elle, a des arguments. J'ai aussi fait le test en mettant un argument bidon dans la fonction, ce qui ne change rien.

De plus, mon attente est que ma fonction me renvoie un statut d'execution dans la cellule dans laquelle je l'appelle (d'ou le fonc_test="fin"), et un resultat de calcul dans une autre cellule (d'ou le ...Value = "toto").

En faisant un debogage pas a pas, il sort bien de la fonction au moment de l'evaluation du ....Value = "toto", c'est donc cette ligne qui pose probleme.

En fait, je n'ai pas un besoin urgent de cette fonction et je pourrais contourner le probleme, mais je suis surtout curieux de savoir si c'est une limitation d'Excel ( je suis en version Excel 2002 SP2).

Merci

Fabien.
 
Vieux 11/02/2005, 23h03   #4 (permalink)
jyM
Guest
 
Messages: n/a
Par défaut Re: Affecter une valeur dans une cellule depuis une fonction

salut Fabien,

je lis en vitesse la ri-spote au post ...

bon et bref :
à ce que je crois :

la ligne cells(x,y).value="machin" ne peut fonctionner QUE DANS UNE SUB.
dans un fonction tu dois évaluer la fonction à "machin".
fonc_test = "toto" si tu veux renvoyer toto ou
fonc_test = "fin" si tu veux renvoyer fin.

ta cellule x y ne peut être directement modifiée deouis l'INTERIEUR de la onction ; c'est le retou de fonction lui-même qui colle la valeur idoine.

je te re-suggère bien humblement d'appeler ta fonxtion avec un argument fût-il bidon et de renvoyer tes valeurs par le seul intermédiaire de
fonc_test = "ce qui te chante".

Si je comprends mal ton problème, veux-tu me le faire savoir ET re-poser
ta question afin que d'autres, mieux au fait te répondent.

bye
jyM
 
Vieux 14/02/2005, 10h46   #5 (permalink)
Fabien
Guest
 
Messages: n/a
Par défaut Re: Affecter une valeur dans une cellule depuis une fonction

Salut jyM,

Merci pour tes reponses, je crois qu'on est d'accord maintenant.

En fait, ma question portait uniquement sur la possibilite de lancer un "cells(x,y).value="machin"" dans une fonction. Tu viens de confirmer ce qu'il me semblait, c'est-a-dire que cette commande ne peut etre lancee que dans une sub.
J'avais pourtant cherche dans l'aide Excel et VBA, mais apparemment cette limitation n'est mentionnee nulle part.

... je me coucherai moins bete ce soir!

A+

Fabien
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 13h36.


(C) 2006 Excel Downloads