Remplacer point par virgule sur access2003

Signaler
Messages postés
5
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
27 juin 2008
-
Messages postés
215
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
-
Bonjour,

J'ai un problème avec access, ce logiciel dont j'ignore beaucoup de choses ! (et le mot est faible).
Alors, je dois importer un fichier excel sur access.
Le problème est que mes montants sont avec un point au lieu d'une virgule.
Y a t il une requête pour tous les remplacer?

Merci de votre aide

6 réponses

Messages postés
111
Date d'inscription
dimanche 19 février 2006
Statut
Membre
Dernière intervention
2 avril 2010
1
Salut, tu peut faire un Control + H sur le champ à modifier si l'opération est exeptionelle.
Si tu dois le refaire plus souvent, il faudra passer par une requete.
Messages postés
5
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
27 juin 2008

Justement l'opération n'est pas du tout exceptionelle.
Je dois faire une requête, mais je ne sais pas comment faire
Messages postés
111
Date d'inscription
dimanche 19 février 2006
Statut
Membre
Dernière intervention
2 avril 2010
1
Il te faut créer un module.
Dans ce module, tu colles ça:

Public Function Remplacer(ByVal Texte As String) As String
   Remplacer = Replace(Texte, ".", ",")
End Function

Ensuite tu crée une requete de mise à jour:

UPDATE  Ta_Table SET [Ta_Table].[Ton_Champ] = Remplacer([Ta_Table].[Ton_Champ]);

Voilà.
Messages postés
5
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
27 juin 2008

Ca ne marche pas :(
Messages postés
5
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
27 juin 2008

Je ne dois pas savoir faire la requete correctement
Messages postés
215
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
4
Hello ,

ton importation est automatique (code VBA) ou manuelle depuis la barre de menu (fichier -> données externes)

Si manuelle : tu peux définir les options avancées et modifier les point par des virgules et vice et versa

Si auto :
passe la fonction suivante apres ton importation :

function hohoho()
dim sChaine as string
dim rs as recordset
dim n as interger
dim newValeur as variant
sChaine = "SELECT [ton champ a montant] FROM [ma table de données];"
  Set rs = CurrentDb.OpenRecordset(sChaine, dbOpenDynaset)
  With rs
    If .EOF Then msgbox "Pas de recordset dans ma table" : exit function
    Do Until .EOF
      .Edit
        For n = 1 To Len(![ton champ montant])
          If Mid(![ton champ montant], n, 1) = "." Then
            ![ton champ montant] = Left(![ton champ montant], n - 1) & "," & Right(strValeur, Len(![ton champ montant]) - n)
          End If
        Next
      .Update
      .MoveNext
    Loop

  End With
  Set rs = Nothing

end function

Bon courage pour la suite

***********  Si cette réponse vous convient, merci de valider ce post  ***********

ChaPaTa