IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[XL 2010 et 2016] Changement du séparateur à l'écriture d'un fichier au format texte en UTF8


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Utilisateur occasionnel de MySQL
    Inscrit en
    Décembre 2017
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Utilisateur occasionnel de MySQL

    Informations forums :
    Inscription : Décembre 2017
    Messages : 49
    Par défaut [XL 2010 et 2016] Changement du séparateur à l'écriture d'un fichier au format texte en UTF8
    Bonjour,

    J'ai une macro qui me permet d'écrire un ou des fichiers (gpx) au format texte en UTF8 avec objStream.writetext

    Il faut que ce fichier texte soit écrit avec comme séparateur le point. Sur mon PC, j'ai le point défini comme séparateur, là tout va bien. Je partage la même macro avec un ami qui a comme séparateur la virgule et là les fichiers textes écrits avec ces virgules ne sont plus reconnus correctement avec ce séparateur. Il ne peut changer ce séparateur car il a d'autres macros ou fichiers qui utilisent comme séparateur la virgule

    Est-il possible à l'écriture du contenu des cellules dans les fichiers texte de changer ce séparateur ?

    Exemple de la ligne qui pose problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objStream.writetext Sheets("gpx").Range("C7").Value & Sheets("Liste waypoints").Range("B" & a).Value & Sheets("gpx").Range("C8").Value & Sheets("Liste waypoints").Range("C" & a).Value & Sheets("gpx").Range("C9").Value & vbCr & vbLf
    Les cellules .Range("B" & a).Value et Range("C" & a).Value sont celles contenant des virgules comme séparateurs qu'il faudrait changer par des points

    J'ai fait diverses recherches mais n'ai pas aperçu de cas similaires de traités

    Avec mes remerciements pour votre aide

    Bernard

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Manard82 Voir le message
    Bonjour,

    Avec un Ctrl-H sur les deux colonnes, cela ne fonctionne pas ?

  3. #3
    Membre averti
    Homme Profil pro
    Utilisateur occasionnel de MySQL
    Inscrit en
    Décembre 2017
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Utilisateur occasionnel de MySQL

    Informations forums :
    Inscription : Décembre 2017
    Messages : 49
    Par défaut
    Bonsoir Kergresse,

    Je te remercie de ta réponse, avec Rechercher - Remplacer , je ne peux mettre le point en remplacement, il est systématiquement remplacé par une virgule

    Bernard

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Manard82 Voir le message
    Ce serait intéressant de voir ça.

  5. #5
    Membre averti
    Homme Profil pro
    Utilisateur occasionnel de MySQL
    Inscrit en
    Décembre 2017
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Utilisateur occasionnel de MySQL

    Informations forums :
    Inscription : Décembre 2017
    Messages : 49
    Par défaut
    Bonjour Eric,

    Je puis t'assurer que c'est ce qui se produit, dans le champ Remplacer quand c'est la virgule qui est déclarée comme séparateur, le point n'est pas accepté et est remplacé par la virgule. Comme ce sont des champs numériques, c'est peut-être la raison.

    Sinon hier soir tard, j'ai trouvé une solution pour contourner ce problème.

    Après la saisie de la latitude et longitude d'un point, au moment de la validation de cette saisie qui est inscrite à la suite d'un tableau dans une autre feuille, j'ai scindé la valeur entière de la valeur décimale dans deux cellules, en retirant "0," dans le champ décimal. Ensuite à l'écriture de ces données dans le fichier de sortie au format gpx, j'introduis le point entre les valeurs de ces deux champs latitude et longitude

    Pour scinder la valeur entière et décimale j'ai utilisé Fix et Len, b est le numéro de la ligne à écrire, les valeurs de latitude et longitude sont en B5 et B6 de la feuille "Saisie"

    Exemple pour l'écriture de la latitude

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sheets("Liste waypoints").Select
     
    Range("A" & b).Value = Sheets("Saisie").Range("B4").Value
     
     
    Range("B" & b).Value = Fix(Sheets("Saisie").Range("B5").Value)
     
    If Len(Range("B" & b).Value) <> Len(Sheets("Saisie").Range("B5").Value) Then
     
    Range("C" & b).Value = Right(Sheets("Saisie").Range("B5").Value, (Len(Sheets("Saisie").Range("B5").Value) - Len(Range("B" & b).Value) - 1))
     
    End If
    Il y a peut-être un autre moyen plus rapide pour arriver à scinder ce champ numérique, là j'ai fait divers tests, dont des valeurs négatives et entières ça fonctionne

    Je te souhaite un bon week-end

    Bernard

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2016] Compatibilité entre 2010 et 2016
    Par CmzxNene dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/06/2016, 06h50
  2. [2013] Format des fichiers Office 2010 - 2013 - 2016
    Par Daejung dans le forum Microsoft Office
    Réponses: 8
    Dernier message: 26/12/2015, 05h23
  3. changement de séparateur virgule en point
    Par steffguibo dans le forum VBA Word
    Réponses: 1
    Dernier message: 18/02/2008, 12h40
  4. Changement du séparateur décimal
    Par joko77 dans le forum Général Java
    Réponses: 5
    Dernier message: 03/01/2008, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo