Fonction Replace non trouvée

Le
warrio
Bonjour,

J'essaye d'extraire des données depuis une base de données en utilisant
Excel.
Une fois la connection établie à la bdd, je lance une lance une requete qui
utilise la fonction Replace().
Le problème est que j'obtiens l'erreur suivante : "Undefined function
'replace' in expression". (désolé, je ne connais pas la traduction exacte en
français)

Il faut noter aussi que cette fonction fonctionne sous 'vba' (en tant que
code et non pas dans une requete sql)
Je pense je dois manqué d'une référénce à une des librairies, seulement je
ne sais pas laquelle.

Les références suivantes sont cochées:
- Visual Basic for Applications
- Microsoft Excel 11.0 Object Library
- Microsoft ActiveX Data Objects 2.8 Library
- OLE Automation
- Microsoft Office 11 Objects Library
- Microsoft Scruotubg Runtime
- Microsoft DAO 3.6 Objects Library

AUCUNE référence n'est marquée comme manquante dans la liste!

Merci d'avance pour toute suggestion ou idée pertinante
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Caetera
Le #20297461
"warrio" 4aca5c36$0$4038$

J'essaye d'extraire des données depuis une base de données en utilisant Excel.
Une fois la connection établie à la bdd, je lance une lance une requete qui
utilise la fonction Replace(...).
Le problème est que j'obtiens l'erreur suivante : "Undefined function
'replace' in expression". (désolé, je ne connais pas la traduction exacte en
français)



*************

Utilise Substitute au lieu de Replace

Etc
michdenis
Le #20299751
Bonjour Warrio,

Dans Excel, il est impossible d'utiliser une fonction
personnalisée et plusieurs fonctions d'Excel qui ne font pas
partie du pilote utilisé par ADO. (Et oui, c'est très différent
dans Access)

Par exemple, tu peux utiliser une requête de ce type :

Requete = "Select Right(MonChamp,2) From MaTable ...."
Il y d'autres fonctions comme Left(), Sum(), Format() et quelques
autres fonctions....

Cependant, ce que tu peux faire, c'est d'appliquer ta fonction
sur le recordset généré en utilisant une boucle

Do while Rst.Eof = false
'ton Code en utilisant ta fonction
Rst.movenext
loop




"warrio" 4aca5c36$0$4038$
Bonjour,

J'essaye d'extraire des données depuis une base de données en utilisant
Excel.
Une fois la connection établie à la bdd, je lance une lance une requete qui
utilise la fonction Replace(...).
Le problème est que j'obtiens l'erreur suivante : "Undefined function
'replace' in expression". (désolé, je ne connais pas la traduction exacte en
français)

Il faut noter aussi que cette fonction fonctionne sous 'vba' (en tant que
code et non pas dans une requete sql)
Je pense je dois manqué d'une référénce à une des librairies, seulement je
ne sais pas laquelle.

Les références suivantes sont cochées:
- Visual Basic for Applications
- Microsoft Excel 11.0 Object Library
- Microsoft ActiveX Data Objects 2.8 Library
- OLE Automation
- Microsoft Office 11 Objects Library
- Microsoft Scruotubg Runtime
- Microsoft DAO 3.6 Objects Library

AUCUNE référence n'est marquée comme manquante dans la liste!

Merci d'avance pour toute suggestion ou idée pertinante
warrio
Le #20299911
Hello Caetera,

Tu as déjà essayé Substitute?
Ni la requete sql ni le code vba ne trouvent cette fonction... alors que
Replace est trouvée par vba..

Tu aurais une explication pour cela?
Merci encore

"Caetera"
"warrio" 4aca5c36$0$4038$

J'essaye d'extraire des données depuis une base de données en utilisant
Excel.
Une fois la connection établie à la bdd, je lance une lance une requete
qui utilise la fonction Replace(...).
Le problème est que j'obtiens l'erreur suivante : "Undefined function
'replace' in expression". (désolé, je ne connais pas la traduction exacte
en français)



*************

Utilise Substitute au lieu de Replace

Etc



Caetera
Le #20300151
"warrio" 4acb27fd$0$4041$

Tu as déjà essayé Substitute?
Ni la requete sql ni le code vba ne trouvent cette fonction... alors que
Replace est trouvée par vba..



Application.Substitute(....)

Etc
warrio
Le #20300611
Merci infiniment pour la précision Michdenis!

J'ai une confirmation à présent.
Je peux aussi essayer de lancer la requette dans Access même en créant un
objet QueryDef et de lancer, car une boucle sur plus de 10'000 records, ca
risque de faire plus lent.

Merci encore pour cette explication.

Très bonne journée.

"michdenis"
Bonjour Warrio,

Dans Excel, il est impossible d'utiliser une fonction
personnalisée et plusieurs fonctions d'Excel qui ne font pas
partie du pilote utilisé par ADO. (Et oui, c'est très différent
dans Access)

Par exemple, tu peux utiliser une requête de ce type :

Requete = "Select Right(MonChamp,2) From MaTable ...."
Il y d'autres fonctions comme Left(), Sum(), Format() et quelques
autres fonctions....

Cependant, ce que tu peux faire, c'est d'appliquer ta fonction
sur le recordset généré en utilisant une boucle

Do while Rst.Eof = false
'ton Code en utilisant ta fonction
Rst.movenext
loop




"warrio" discussion :
4aca5c36$0$4038$
Bonjour,

J'essaye d'extraire des données depuis une base de données en utilisant
Excel.
Une fois la connection établie à la bdd, je lance une lance une requete
qui
utilise la fonction Replace(...).
Le problème est que j'obtiens l'erreur suivante : "Undefined function
'replace' in expression". (désolé, je ne connais pas la traduction exacte
en
français)

Il faut noter aussi que cette fonction fonctionne sous 'vba' (en tant que
code et non pas dans une requete sql)
Je pense je dois manqué d'une référénce à une des librairies, seulement je
ne sais pas laquelle.

Les références suivantes sont cochées:
- Visual Basic for Applications
- Microsoft Excel 11.0 Object Library
- Microsoft ActiveX Data Objects 2.8 Library
- OLE Automation
- Microsoft Office 11 Objects Library
- Microsoft Scruotubg Runtime
- Microsoft DAO 3.6 Objects Library

AUCUNE référence n'est marquée comme manquante dans la liste!

Merci d'avance pour toute suggestion ou idée pertinante



warrio
Le #20300601
Hello Caetera,

Je ne suis pas sur que tu es compris la question de départ...
Michdenis a répondu judicieusement à ma recherche.

Bonne journée

"Caetera"
"warrio" 4acb27fd$0$4041$

Tu as déjà essayé Substitute?
Ni la requete sql ni le code vba ne trouvent cette fonction... alors que
Replace est trouvée par vba..



Application.Substitute(....)

Etc



Publicité
Poster une réponse
Anonyme