Perte de virgule dans un transfert de données Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
S
Sycor
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 5 avril 2016
Version d'Excel : 2016

Message par Sycor » 20 septembre 2016, 16:41

Bonjour,

Je me retourne vers vous pour un petit élément qui commence à sérieusement m'agacer. Pour faire simple, je reçoit régulièrement de la part d'un tiers un fichiers excel que je ne peu utiliser dans l'état. J'ai donc créer un fichier excel permettant de les traiter de manière automatique, avant d'envoyer les données sur un autre fichier excel "base de données". Je bloque sur cette envoie. Voici mon code actuelle (simplifié à une unique valeur tant que je n'arrive pas à résoudre mon souci ><):
Workbooks(nom).Worksheets("Feuil1").Range("G3").Value = Workbooks("Principal.xlsm").Worksheets("definitif").Range("G3").Value
La valeur à transférer est une latitude type 44,555632256. Une fois la macro terminé, la valeur inscrite dans la base de donné est 44555632256 : les bons chiffres, mais sans la virgule :(.

J'ai tenté de regarder la valeur envoyé via une msgbox
 msgbox Workbooks("Principal.xlsm").Worksheets("definitif").Range("G3").Value


la valeur renvoyer est alors correcte, avec sa virgule.

Merci par avance pour votre aide
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 6'575
Appréciations reçues : 174
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 20 septembre 2016, 17:01

bonjour,
Probablement une histoire de format zarbi ?
Essaie voir de remplacer .Value par .Text
A+
Question portant sur VBA : Je ne répond pas si la question ne comporte pas le classeur KIVABIEN avec.
S
Sycor
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 5 avril 2016
Version d'Excel : 2016

Message par Sycor » 20 septembre 2016, 17:10

Bonjour galopin01,

Merci pour ta proposition, mais le logiciel me renvoie l'erreur 438
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 448
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 20 septembre 2016, 17:36

Bonjour,

C'est toujours aléatoire de diagnostiquer un problème sans l'examiner... ! :mrgreen:
Essaie toutefois :
valeur = Val(Replace(Workbooks("Principal.xlsm").Worksheets("definitif").Range("G3").Value), ",", "."))
Workbooks(nom).Worksheets("Feuil1").Range("G3").Value = valeur
S
Sycor
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 5 avril 2016
Version d'Excel : 2016

Message par Sycor » 21 septembre 2016, 09:40

Bonjour,

Merci MFerrand, le problème est effectivement résolue en remplaçant les virgules par des points. La valeur transférer dans la base de données se retrouve alors avec une ... virgule! Les mystères de l'informatique sans doutes ...

Dans tout les cas, merci à tous ceux qui on réfléchie sur mon problème aujourd'hui résolu
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message