OVH Cloud OVH Cloud

L'expression entrée comporte un nom de fonction introuvable

6 réponses
Avatar
Karghyl
Bonjour,
c'est le message que je me prends lorsque j'exécute ma macro dans
Access97 ou Access 2002.
Cette macro a une commande ExécuterCode avec un nom de fonction présent
dans la liste des modules vba. Lorsque j'ai ce message, je clique sur ok
et j'ai une boîte de debug avec le nom de ma fonction et j'arrête la macro.
Ce qui est bizarre, c'est que quand j'exécute la fonction vba seule dans
vb editor, ça fontionne sans problème. Ce message survient uniquement
quand je passe par la macro.

Si quelqu'un a un p'tite idée, ça m'aiderait bien.
Merci à tous

6 réponses

Avatar
Pierre CFI
bonjour
tu penses a mettre les () ? Nomfonction()

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karghyl" a écrit dans le message de news: e#
Bonjour,
c'est le message que je me prends lorsque j'exécute ma macro dans
Access97 ou Access 2002.
Cette macro a une commande ExécuterCode avec un nom de fonction présent
dans la liste des modules vba. Lorsque j'ai ce message, je clique sur ok
et j'ai une boîte de debug avec le nom de ma fonction et j'arrête la macro.
Ce qui est bizarre, c'est que quand j'exécute la fonction vba seule dans
vb editor, ça fontionne sans problème. Ce message survient uniquement
quand je passe par la macro.

Si quelqu'un a un p'tite idée, ça m'aiderait bien.
Merci à tous



Avatar
Pierre CFI
.../...
comment s'appelle ta fonction ??

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karghyl" a écrit dans le message de news: #
Pierre CFI wrote:

bonjour
tu penses a mettre les () ? Nomfonction()

--
Pierre CFI
MVP Microsoft Access


Bonjour
oui je suis d'ailleurs passé par le petit explorateur quand tu cliques
sur le bouton à droite de la zone, et donc access a mis seul le nom :
Replace () avec un espace avant le (). Mais même si j'enlève l'espace
avant (), ça fait pareil.




Avatar
Raymond
Bonjour.

Replace, malgré qu'il ne soit pas géré en dehors du vba par les premières
versions 2000, est une fonction vba. Tu ne peux pas l'utiliser en temps que
nom de fonction personnelle sinon il y a interférence entre ta fonction et
la fonction vba.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Pierre CFI" a écrit dans le message de
news:
.../...
comment s'appelle ta fonction ??

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karghyl" a écrit dans le message de news:
#

Pierre CFI wrote:

bonjour
tu penses a mettre les () ? Nomfonction()

--
Pierre CFI
MVP Microsoft Access


Bonjour
oui je suis d'ailleurs passé par le petit explorateur quand tu cliques
sur le bouton à droite de la zone, et donc access a mis seul le nom :
Replace () avec un espace avant le (). Mais même si j'enlève l'espace
avant (), ça fait pareil.








Avatar
Karghyl
Pierre CFI wrote:

.../...
comment s'appelle ta fonction ??

--
Pierre CFI
MVP Microsoft Access



Elle s'appelle Replace()
Euh tu penses que c'est parce que replace n'existe pas dans Access97 ?
Merci pour tes réponses rapides

Avatar
Karghyl
Raymond wrote:

Bonjour.

Replace, malgré qu'il ne soit pas géré en dehors du vba par les premières
versions 2000, est une fonction vba. Tu ne peux pas l'utiliser en temps que
nom de fonction personnelle sinon il y a interférence entre ta fonction et
la fonction vba.



C'est donc ça !! c'est l'idée qui m'est venue suite à la question de
Pierre. Il faut donc que je change mon nom de fonction perso.
Bon avec Access2002, ça paraît logique effectivement puisque lui connaît
replace, c'est donc un mot réservé...
Mais Access97, lui ne connaît pas replace, et c'est quand même un mot
réservé qu'il ne faut pas utiliser en nom perso.
C'est pas très logique tout ça....
Enfin merci à vous deux de vos réponses matinales et rapides

Avatar
Karghyl
Pierre CFI wrote:
bonjour
tu penses a mettre les () ? Nomfonction()

--
Pierre CFI
MVP Microsoft Access



Bonsoir,
en fait, il semble que le problème venait du fait que le module vba et
la fonction contenue dans le module avaient le même nom. Access a pas
l'air d'aimer.
Merci à tous pour vos réponses.