OVH Cloud OVH Cloud

pb macro expression avec ;

3 réponses
Avatar
mickael lunven
Bonjour à tous.

J'ai créé une macro avec une boucle qui me crée plusieurs feuille sur
lesquelles je veux ajouter des renseignents : en A1, je mets un numéro de
compte et en A2 son libelle. J'ai déjà une fonction toutes faites d'un
module OLE en liaison avec mon logiciel de comptabilité pour trouver le
libelle du compte. cette fonction est définie comme suit : libelle(numero de
compte, numero de dossier, date).
Et voila ma ligne de code vba qui doit me renseigner le libelle :

Range("A2").Value = "=libelle(A1;info!E2;info!B2)"

Le problème, c'est que j'ai le message d'erreur "erreur définie par
l'application ou par l'objet". J'ai remarqué que si je ne met qu'un attribut
à ma fonction ("=libelle(A1)"), je n'est pas ce message d'erreur. C'est
juste ma fonction qui ne marche pas après dans la feuille. J'en déduis que
ce sont les ";" de ma fonction qu'il n'aime pas.
Comment faire alors pour qu'il ne prenne pas en compte les ";" dans le
traitement de cette ligne de code?


Merci d'avance.

3 réponses

Avatar
papou
Bonjour
Modifie plutôt par :
Range("A2").FormulaR1C1 = "=libelle(A1;info!E2;info!B2)"
Cordialement
Pascal

"mickael lunven" a écrit dans le message de news:

Bonjour à tous.

J'ai créé une macro avec une boucle qui me crée plusieurs feuille sur
lesquelles je veux ajouter des renseignents : en A1, je mets un numéro de
compte et en A2 son libelle. J'ai déjà une fonction toutes faites d'un
module OLE en liaison avec mon logiciel de comptabilité pour trouver le
libelle du compte. cette fonction est définie comme suit : libelle(numero
de

compte, numero de dossier, date).
Et voila ma ligne de code vba qui doit me renseigner le libelle :

Range("A2").Value = "=libelle(A1;info!E2;info!B2)"

Le problème, c'est que j'ai le message d'erreur "erreur définie par
l'application ou par l'objet". J'ai remarqué que si je ne met qu'un
attribut

à ma fonction ("=libelle(A1)"), je n'est pas ce message d'erreur. C'est
juste ma fonction qui ne marche pas après dans la feuille. J'en déduis que
ce sont les ";" de ma fonction qu'il n'aime pas.
Comment faire alors pour qu'il ne prenne pas en compte les ";" dans le
traitement de cette ligne de code?


Merci d'avance.




Avatar
Vincent.
Bonjour...
ou par ceci :
Range("A2").FormulaR1C1 = "=libelle(R1C1,info!R2C5,info!
R2C2)"
...

-----Message d'origine-----
Bonjour
Modifie plutôt par :
Range("A2").FormulaR1C1 = "=libelle(A1;info!E2;info!B2)"
Cordialement
Pascal

"mickael lunven" a écrit dans le
message de news:


Bonjour à tous.

J'ai créé une macro avec une boucle qui me crée
plusieurs feuille sur


lesquelles je veux ajouter des renseignents : en A1, je
mets un numéro de


compte et en A2 son libelle. J'ai déjà une fonction
toutes faites d'un


module OLE en liaison avec mon logiciel de comptabilité
pour trouver le


libelle du compte. cette fonction est définie comme
suit : libelle(numero


de
compte, numero de dossier, date).
Et voila ma ligne de code vba qui doit me renseigner le
libelle :



Range("A2").Value = "=libelle(A1;info!E2;info!B2)"

Le problème, c'est que j'ai le message d'erreur "erreur
définie par


l'application ou par l'objet". J'ai remarqué que si je
ne met qu'un


attribut
à ma fonction ("=libelle(A1)"), je n'est pas ce message
d'erreur. C'est


juste ma fonction qui ne marche pas après dans la
feuille. J'en déduis que


ce sont les ";" de ma fonction qu'il n'aime pas.
Comment faire alors pour qu'il ne prenne pas en compte
les ";" dans le


traitement de cette ligne de code?


Merci d'avance.





.




Avatar
mousnynao
Bonjour,

Autre observation ...

Ssi la macro est une [ Sub ], les arguments ne doivent pas
être entre parenthèse lorsqu'il y a plus d'un argument,
à l'inverse d'une Fonction qui réagit différament!

Range("A2").Value = "=libelle A1;info!E2;info!B2"

Sub libelle (AA As String, BB As String, CC As String)
...
End Sub

mousnynao!


-----Message d'origine-----
Bonjour...
ou par ceci :
Range("A2").FormulaR1C1 = "=libelle(R1C1,info!R2C5,info!
R2C2)"
....

-----Message d'origine-----
Bonjour
Modifie plutôt par :
Range("A2").FormulaR1C1 = "=libelle(A1;info!E2;info!B2)"
Cordialement
Pascal

"mickael lunven" a écrit dans le
message de news:


Bonjour à tous.

J'ai créé une macro avec une boucle qui me crée
plusieurs feuille sur


lesquelles je veux ajouter des renseignents : en A1,
je



mets un numéro de
compte et en A2 son libelle. J'ai déjà une fonction
toutes faites d'un


module OLE en liaison avec mon logiciel de
comptabilité



pour trouver le
libelle du compte. cette fonction est définie comme
suit : libelle(numero


de
compte, numero de dossier, date).
Et voila ma ligne de code vba qui doit me renseigner
le



libelle :

Range("A2").Value = "=libelle(A1;info!E2;info!B2)"

Le problème, c'est que j'ai le message
d'erreur "erreur



définie par
l'application ou par l'objet". J'ai remarqué que si je
ne met qu'un


attribut
à ma fonction ("=libelle(A1)"), je n'est pas ce
message



d'erreur. C'est
juste ma fonction qui ne marche pas après dans la
feuille. J'en déduis que


ce sont les ";" de ma fonction qu'il n'aime pas.
Comment faire alors pour qu'il ne prenne pas en compte
les ";" dans le


traitement de cette ligne de code?


Merci d'avance.





.

.