OVH Cloud OVH Cloud

remplacer format texte en format nombre

16 réponses
Avatar
ALF
bonjour,
comment remplacer un montant en format texte avec un point en un montant en
format nombre avec virgule???Ou tout simplement comment remplacer un point en
virgule.la fonction ALTER TABLE [] ALTER COLUMN [] NUMBER ne convient pas car
efface les montants.... merci.
--
ALF

6 réponses

1 2
Avatar
ALF
voici le reflet info de "a propos"..je rajoute que la fonction Replace est
bien presente dans la reference VBA...de plus je ne suis pas l administrateur
du micro..

Rapport d'informations système écrit à l'emplacement : 01/07/2005 16:54:09
[Résumé]

Item Value
Nom de l'application Microsoft Access
Version 9.0
Build 6620
Product ID 51097-335-1591982-02938
Chemin de l'application C:Program FilesMicrosoft OfficeOffice
Langue Français (France)
Version ADO 2.5
Version VBA 6.00
Références VBA, Access, stdole, ADODB, DAO, Excel, Office, MSDASC, VBIDE
Nom de la base de données CREDITRJLJ.mdb
Chemin d'accès de la base de données E:Deydierrjlj
Taille de la base de données 16140,0 Ko
Date de création de la base de données 29/06/2005 12:51:13
Utilisateur en cours Admin
Version Jet 4.0
ALF



Salut,

"ALF"
| non je suis en access 2000..


Aurais tu une version Access 2000 sans mise à jour ?

a voir dans le menu "?", "A propos de Microsoft Access"



--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




Avatar
3stone
Salut,

"ALF"
| voici le reflet info de "a propos"
<snip>


Juste la ligne en haut de la fenêtre... ;-)

"Microsoft(r) Access 2000 (9.0.xxxx SP-x)"


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
ALF
MICROSOFT ACCESS 2000 9.0 7616 SP-3
--
ALF



Salut,

"ALF"
| voici le reflet info de "a propos"
<snip>


Juste la ligne en haut de la fenêtre... ;-)

"Microsoft(r) Access 2000 (9.0.xxxx SP-x)"


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw






Avatar
3stone
Salut,

"ALF"
| MICROSOFT ACCESS 2000 9.0 7616 SP-3

Dans ce cas, la fonction "Replace" fonctionne sans problème
dans une requête enregistrée (et le VBA évidement)

Mais pas sûr quelle fonctionne sous la forme donnée par Arnaud...
(un vieux souvenir de qque chose ;-)
Access doit avoir un problème d'interprétation avec les guillemets.


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
ALF
lorsque j execute la procedure 1- avec le code donné par arnaud,une fenetre
MACRO s affiche avec le nom de la macro a saisir..en l occurence la procedure
n est pourtant pas liée a une macro...et donc la procedure semble ne pas
demarrer...ton intuition semble etre bonne...
d autrepart si je compile la procedure 2- j ai un message erreur de
compilation..nom ambigu détecté:Replace

1 -
Option Compare Database

Public Function Replace(Txt As Variant, txtsource As Variant, txtcible As
Variant) As Variant
Dim dbs As Database
Set dbs = CurrentDb
Dim x As String
Dim i As Integer
x = Txt
i = 1
If Len(txtsource) > 0 Then
Do Until i > Len(x)
If Mid$(x, i, Len(txtsource)) = txtsource Then
x = Left$(x, i - 1) & txtcible & Mid$(x, i + Len(txtsource))
i = i + Len(txtcible)
Else
i = i + 1
End If
Loop
End If
Replace = x
dbs.Execute "UPDATE [J2CREDITRJLJ] SET [J2CREDITRJLJ].[MONTANT CREDIT] =
Replace([J2CREDITRJLJ].[MONTANT CREDIT],""."","","")"
dbs.Close
End Function
-------------------------------------------------------------------------------------------
Private Function modiftable()
Dim dbs As Database
Set dbs = CurrentDb
dbs.Execute "ALTER TABLE [J2CREDITRJLJ]ALTER COLUMN [DATE REQUETE] DATE;"
dbs.Execute "ALTER TABLE [J2CREDITRJLJ]ALTER COLUMN [DATE JUGMENT] DATE;"
dbs.Execute "ALTER TABLE [J2CREDITRJLJ]ALTER COLUMN [DATE CREDIT] DATE;"
dbs.Execute "ALTER TABLE [J2CREDITRJLJ]ALTER COLUMN [DATE FACTURE] DATE;"
dbs.Execute "ALTER TABLE [J2CREDITRJLJ]ALTER COLUMN [MONTANT CREDIT] Number;"
dbs.Close
End Function
--

2-

Option Compare Database

'------------------------------------------------------------
' maj_j2creditrjlj_xls
'
'------------------------------------------------------------
Function maj_j2creditrjlj_xls()
On Error GoTo maj_j2creditrjlj_xls_Err

DoCmd.SetWarnings False
DoCmd.Echo True, "MACRO EN COURS D 'EXECUTION......"
DoCmd.OpenTable "J2CREDITRJLJ INITIAL", acNormal, acEdit
DoCmd.RunCommand acCmdSelectAllRecords
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acTable, "J2CREDITRJLJ INITIAL"
DoCmd.TransferSpreadsheet acImport, 5, "J2CREDITRJLJ INITIAL",
"E:deydierrjljinij2creditrjlj.xls", True, ""
DoCmd.OpenQuery "CREATION J2CREDITRJLJ", acNormal, acEdit
DoCmd.OpenQuery "MAJ PERS PHYSIQUE", acNormal, acEdit
DoCmd.OpenQuery "MAJ PERS MORALE", acNormal, acEdit
DoCmd.OpenQuery "maj j2rjlj1", acNormal, acEdit
DoCmd.OpenQuery "maj j2rjlj2", acNormal, acEdit
DoCmd.OpenQuery "maj j2rjlj3", acNormal, acEdit
DoCmd.OpenQuery "maj date requete j2rjlj", acNormal, acEdit
DoCmd.OpenTable "J2CREDITRJLJ", acNormal, acEdit
DoCmd.RunCommand Replace("MONTANT CREDIT", ".", ",")
DoCmd.RunCommand CDbl("MONTANT CREDIT")
MsgBox "Traitement terminé......", vbInformation, "Macro J2CREDITRJLJ"
DoCmd.Echo False, "MACRO EN COURS D 'EXECUTION......"


maj_j2creditrjlj_xls_Exit:
Exit Function

maj_j2creditrjlj_xls_Err:
MsgBox Error$
Resume maj_j2creditrjlj_xls_Exit

End Function

ALF



Salut,

"ALF"
| MICROSOFT ACCESS 2000 9.0 7616 SP-3

Dans ce cas, la fonction "Replace" fonctionne sans problème
dans une requête enregistrée (et le VBA évidement)

Mais pas sûr quelle fonctionne sous la forme donnée par Arnaud...
(un vieux souvenir de qque chose ;-)
Access doit avoir un problème d'interprétation avec les guillemets.


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




Avatar
3stone
Salut,

"ALF"

| dbs.Execute "UPDATE [J2CREDITRJLJ] SET [J2CREDITRJLJ].[MONTANT CREDIT] =
| Replace([J2CREDITRJLJ].[MONTANT CREDIT],""."","","")"


Je pense qu'il ne te reste que le traitement via recordset...


Dim db As DAO.database
Dim rs As DAO.Recordset

Set db = CurrentDb
Set rs = db.OpenRecordset("Select [MONTANT CREDIT] From [J2CREDITRJLJ];")

Do Until rs.EOF
rs.Edit
rs![Montant Credit] = Replace(rs![Montant Credit], ".", ";")
rs.Update
rs.MoveNext
Loop

rs.Close: db.Close
Set rs = Nothing
Set db = Nothing



--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
1 2