Texte et fonction personnalisée

Bonsoir,

Je m'excuse par avance de vous poser cette question qui à mon avis est ridicule, mais qui me bloque alors que je n'arrive pas à trouver sa réponse dans les forums avec des mots clés adéquats. Je me remets sur VBA depuis 10ans et suis un peu "rouillé ".

Voici :

Pourquoi ai-je une erreur en retour d'une fonction personnalisée avec une variable texte du type :

Function test(blabla as string) as string

Test=blabla

End function

Il semble que le format texte ne soit pas reconnu. Cela marche avec des valeurs numériques au lieu des "string", ou lorsque que je passe par une cellule intermédiaire. Exemple test ("a1") avec la cellule a1=montexte

Merci d'avance pour vos bons conseils

bonsoir,

la syntaxe que tu nous mets ne pose pas de problème, mais ne donne probablement pas le résultat que tu souhaites.

Function test(blabla As String) As String

test = blabla

End Function

Sub aargh()

A1 = "mon texte"

MsgBox test("A1") -> affiche "A1" et non "mon texte"

End Sub

Sub aargh1()

Dim A1 As String <- obligatoire car ta fonction attend un paramètre typé string, sinon erreur à la compilation

A1 = "mon texte"

MsgBox test(A1) -> affiche "mon texte"

End Sub

Bonsoir et merci H2SO4,

En fait j'aimerais comprendre pourquoi la fonction

Function test(blabla As String) As String

test = blabla

End Function

me retourne une erreur.

J'aimerais que test(mon texte) retourne: mon texte

Bonsoir,

peux-tu mettre un fichier qui illustre l'erreur ?

les exemples que je t'ai donnés fonctionnent sans erreur.

Non malheureusement je ne peux pas tout de suite. Je suis sur un smartphone 😕. Je n'ai aucun doute que ces procédures marchent bien.

Par contre, quand j'ai essayé cette fonction personnalisée , et que j'écrivais dans une cellule: =test(mon texte)

Et bien j'avais une valeur d'erreur et non: mon texte

J'essaierai d'uploader un fichier demain soir ou lundi sinon

(Mais quand je n'impose pas un string cela marche correctement pour des valeurs numériques)

Bonjour,

ci-joint un fichier pour visualiser mon problème.

En cellule B1 , l'erreur que je ne comprends pas (alors que j'aimerais avoir mon texte comme valeur;

En B2 , la formule marche en utilisant une cellule intermédiaire;

En B3, la formule marche lorsqu'il s'agit d'un nombre.

Merci d'avance pour vos conseils avisés

2test-function.xlsm (12.99 Ko)

Bonjour,

mon texte n'implique pas nécessairement que ce soit un string.

Ce qui identifie clairement une valeur "As String" pour VBA ce sont les guillemets. Donc si tu veux appeler ta fonction avec la valeur mon texte il faut y rajouter ces guillemets...

Si tu veux y passer n'importe quel paramètres (adresse de cellule ou nombre), il n'est pas utile de spécifier blabla "as texte"

A+

bonjour,

edit : bonjour Galopin,

pour mettre mon texte comme valeur tu dois le mettre entre guillements.

Merci,

j'avais pourtant déclaré blabla comme string , mais j'ai compris à présent qu'il fallait tout de même ajouter les guillements.

merci bien!

Rechercher des sujets similaires à "texte fonction personnalisee"