OVH Cloud OVH Cloud

Fonction REPLACE marche/marche pas

4 réponses
Avatar
ifergane
Bonjour,

j'ai certain micros en win98 +office2000 sr1 pour lesquels=20
de temps en temps la fonction suivante :=20

A =3D Replace(Forms("ProdTemp0_Affectation").Controls
("TotalHeure"), ",", ".")

ne fonctionne pas. En effet j'ai le message suivant :=20
"Erreur d'execution '5' Argument ou appel=20
de proc=E9dure incorrecte"

Cela peut-il venir au d=E9marrage de win98 qui ne charge pas=20
correctement certains composants ou d'office. Si je=20
red=E9marre ces postes cette fonction peut fonctionner

Qu'est ce donc ?????

merci pour votre aide pr=E9cieuse, je suis d=E9muni....

4 réponses

Avatar
Crevecoeur Jérôme
Bonjour,
j'ai le meme probleme...

J'utilise une fonction Replace dans du code VB:


Public Function ReplaceCode(ByVal strSource As String, strCherche As String,
strNelle As String) As String
Dim intPos As Integer

If Len(strCherche) > 0 Then
Do
If intPos > 0 Then
intPos = InStr(intPos + Len(strNelle), strSource, strCherche,
vbTextCompare)
Else
intPos = InStr(intPos + 1, strSource, strCherche, vbTextCompare)
End If
If intPos > 0 Then
strSource = Left$(strSource, intPos - 1) & strNelle &
Mid$(strSource, (intPos) + Len(strCherche))
strSource = strSource
End If
Loop Until intPos = 0
End If
ReplaceCode = strSource
End Function



Cordialement
--
----------------------------------------------------------------------------
--------------------
Crévecoeur Jérôme

ACS INFORMATIQUE
122,rue du Château d'orgemont
49000 ANGERS
Tel: 02 41 68 42 36 Fax: 02 41 68 42 48
----------------------------------------------------------------------------
---------------------
"ifergane" a écrit dans le message de
news:0a5801c35cdf$f2abbeb0$
Bonjour,

j'ai certain micros en win98 +office2000 sr1 pour lesquels
de temps en temps la fonction suivante :

A = Replace(Forms("ProdTemp0_Affectation").Controls
("TotalHeure"), ",", ".")

ne fonctionne pas. En effet j'ai le message suivant :
"Erreur d'execution '5' Argument ou appel
de procédure incorrecte"

Cela peut-il venir au démarrage de win98 qui ne charge pas
correctement certains composants ou d'office. Si je
redémarre ces postes cette fonction peut fonctionner

Qu'est ce donc ?????

merci pour votre aide précieuse, je suis démuni....
Avatar
Philippe PONS
Salut,

Si ça marche pas, c'est probablement du à l'utilisation d'une référence à un
control directement dans la fonction!
Il vaut mieux:
1- tester la valeur du controle
2- affecter la valeur du controle à une variable
3- utiliser cette variable dans la fonction
Au lieu de :
A = Replace(Forms("ProdTemp0_Affectation").Controls("TotalHeure"), ",", ".")

Faire:
Dim strTotalHeure As String 'car Replace n'accepte que des string

If Not IsNull(Forms("ProdTemp0_Affectation").Controls("TotalHeure")) then
strTotalHeure = Forms("ProdTemp0_Affectation").Controls("TotalHeure")
End If
'de cette manière, strTotalHeure a toujours une valeur compatible avec la
fonction
A = Replace(strTotalHeure , ",", ".")

Cordialement,
Philippe

"Crevecoeur Jérôme" a écrit dans le message de
news:
Bonjour,
j'ai le meme probleme...

J'utilise une fonction Replace dans du code VB:


Public Function ReplaceCode(ByVal strSource As String, strCherche As
String,

strNelle As String) As String
Dim intPos As Integer

If Len(strCherche) > 0 Then
Do
If intPos > 0 Then
intPos = InStr(intPos + Len(strNelle), strSource, strCherche,
vbTextCompare)
Else
intPos = InStr(intPos + 1, strSource, strCherche, vbTextCompare)
End If
If intPos > 0 Then
strSource = Left$(strSource, intPos - 1) & strNelle &
Mid$(strSource, (intPos) + Len(strCherche))
strSource = strSource
End If
Loop Until intPos = 0
End If
ReplaceCode = strSource
End Function



Cordialement
--
--------------------------------------------------------------------------
--

--------------------
Crévecoeur Jérôme

ACS INFORMATIQUE
122,rue du Château d'orgemont
49000 ANGERS
Tel: 02 41 68 42 36 Fax: 02 41 68 42 48
--------------------------------------------------------------------------
--

---------------------
"ifergane" a écrit dans le message de
news:0a5801c35cdf$f2abbeb0$
Bonjour,

j'ai certain micros en win98 +office2000 sr1 pour lesquels
de temps en temps la fonction suivante :

A = Replace(Forms("ProdTemp0_Affectation").Controls
("TotalHeure"), ",", ".")

ne fonctionne pas. En effet j'ai le message suivant :
"Erreur d'execution '5' Argument ou appel
de procédure incorrecte"

Cela peut-il venir au démarrage de win98 qui ne charge pas
correctement certains composants ou d'office. Si je
redémarre ces postes cette fonction peut fonctionner

Qu'est ce donc ?????

merci pour votre aide précieuse, je suis démuni....




Avatar
ifergane
Après appel avec microsoft, il faut désinstaller
proprement office puis le réinstaller: peut-être problème
couche access instable......

merci à vous
Avatar
Anor
Bonjour,

ifergane a élucidé :
| Après appel avec microsoft, il faut désinstaller
| proprement office puis le réinstaller: peut-être problème
| couche access instable......
|
| merci à vous


A lire cette "solution", et surtout de la
cause probable "couche access instable" ,
qu'il faut traduire comme l'a dit Philippe par "problème de références",

je comprends tout à coup l'utilité des forums de discussion !

Bizarre qu'ils n'aient pas préconisé un formatage du disque dur !
ouarf :-)

Bon à tout à l'heure après réinstallation d'Office et que la problème persistera :-)

--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------