Changement de valeur d'une cellule en VBA et erreur #VALEUR

Bonjour à tous,

Je suis un débutant et m'excuse par avance pour le caractère peut-être un peu stupide de ma question.

Je veux créer une fonction qui engendre un tableau à partir de deux tableaux. Pour cela, je dois modifier les valeurs de cellules par instruction VBA.

Afin d'apprendre à modifier la valeur d'une cellule, j'ai créé un code tout simple qui bugue systématiquement en produisant une erreur VALEUR
Ce code est le suivant:

Function test()

MsgBox Range("A8")

Range("A8") = "Bye Bye"

test = 6

End Function

Quand je mets dans une cellule =test(), le contenu de la cellule A8 s'affiche bien mais cela plante systématiquement sur l'instruction suivante de changement de valeur de la cellule.

Comment régler ce problème?

Merci à tous

Bonjour et bienvenue

Désolé mais je ne comprends pas ce que vous voulez faire

Cordialement

3classeur2.xlsm (16.44 Ko)

Voilà le fichier.
Mon appel à la fonction "test" est dans la cellule C8.
Merci

Re

Vous voulez que C8 prenne la valeur que vous attribuez à A8 ?
test =6 pourquoi ?

Je travaille sur une fonction qui doit faire des manipulations sur des tableaux un peu comme la fonction standard filter qui crée un tableau à partir d'un autre tableau. Cette fonction bugue car je ne parviens pas à modifier la valeur d'une cellule par programmation VBA.

J'ai donc créé cette fonction test pour isoler le problème. Cette fonction ne sert à rien par elle-même. C'est juste pour isoler le problème.

Le seul but de cette fonction c'est de donner à la cellule A8 la valeur "Bye Bye" et de donner la valeur 6 à la cellule C8

L'instruction test=6 est juste là pour donner une valeur à la fonction car une fonction doit toujours retourner une valeur.

Voilà....

La fonction Filter permet de filtrer un tableau en fonction de critère.

Le seul but de cette fonction c'est de donner à la cellule A8 la valeur "Bye Bye" et de donner la valeur 6 à la cellule C8

en A8 vous entrez manuellement Bye Bye ?

Il y a une macro 1 dans le fichier c'est peut cela que voulez faire ?

Non, je ne veux pas entrer manuellement "Bye Bye" dans la cellule A8.

Je veux que cette valeur soit inscrite en A8 par une instruction VBA se trouvant dans une fonction VBA.

Je veux justement éviter une macro et que l'opération se réalise par fonction.

Si vous voulez envoyer une valeur dans une cellule, il faut déterminer en fonction de quoi A8 est complétée.

Je ne sais pas aller dire à VBA de mettre 6 ou Bye bye dans une cellule si on ne sait en fonction de quoi on met ces valeurs

Edit :
Dans le module, mettez ceci juste en dessous d'option explicit

Option Explicit
Dim a
Function test(a)
test = "Bye Bye"
End Function

En A8 ajoutez --> =test(a)

A voir si c'est ce que vous voulez

Rechercher des sujets similaires à "changement valeur vba erreur"