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 :

Créer un fichier texte contenant des ; sans les " imposés par Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 39
    Points : 41
    Points
    41
    Par défaut Créer un fichier texte contenant des ; sans les " imposés par Excel
    Bonjour.

    Depuis un fichier Excel, je dois créer un fichier de données dans un format spécifique où le séparateur est le ; sauf qu'il ne s'agit pas d'un csv car chaque ligne a une entête du genre : "AFF :" (sans les guillemets…).

    Voici un exemple d’une ligne de données :
    AFF : 0101;324;830;;
    (le dernier champs « ;; » veut dire qu’il n’y a pas de valeur)


    Idée n°1 :
    J’insère chaque ligne de données (du style AFF : 0101;324;830;; ) dans les cellules de la colonne A puis j’enregistre le fichier au format texte unicode. Ainsi, j’ai exactement la mise en forme que je veux. Il y a juste un problème : Excel détecte la présence des ; dans la ligne et ajoute des guillemets autour de la ligne de données. Au lieu d’avoir :
    AFF : 0101;324;830;;
    j’ai
    "AFF : 0101;324;830;;"
    => Comment enregistrer en fichier texte des données contenant des ; sans qu’Excel ajoute des guillemets ?


    Idée n°2 :
    Enregistrer en CSV. Là je bidouille les données dans les cellules afin d’avoir les ; bien placés dans le fichier final. Sauf que si la données n’existe pas pour un champ d’une ligne, on doit faire apparaitre ;; . Or Excel ne le fait pas forcément. J’arrive à faire apparaitre un espace du type ; ; mais ce n’est pas l’idéal.

    Voilà ce que me donne Excel
    F: AFF: SM; PARC; HDEB; ;
    F: RES: ; PARC; HDEB; HFIN;
    F: RES: SM; PARC; HDEB; HFIN;
    AFF: 0101;324;830;;
    AFF: 0109;349;;;
    AFF: 0110;453;930;;
    AFF: 0120;329
    AFF: 0124;334

    Voilà ce que je souhaite
    F: AFF: SM; PARC; HDEB; ;
    F: RES: ; PARC; HDEB; HFIN;
    F: RES: SM; PARC; HDEB; HFIN;
    AFF: 0101;324;830;;
    AFF: 0109;349;;;
    AFF: 0110;453;930;;
    AFF: 0120;329;;;
    AFF: 0124;334;;;

    => Comment imposer à Excel de voir les différentes colonnes et de toujours créer le même nombre de ; pour chaque ligne de données ?

    Merci à ceux qui auront pris le temps de lire mon poste et je prends vos solutions avec plaisir.

    Bonne journée.

    Emmanuel

  2. #2
    Membre averti Avatar de Nicopilami
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 339
    Points
    339
    Par défaut
    Hello
    la seule solution que je connais est d'écrire directement le fichier:

    Ainsi, tu peux en voir un exemple simple sur le forum ici
    Citation Envoyé par mercatog Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub EcrireTxt()
    Dim Fs As Object, A As Object
    Dim i As Long
     
    Set Fs = CreateObject("Scripting.FileSystemObject")
    Set A = Fs.CreateTextFile("C:\Users\Public\Fichier Vide.txt", True)
    With Sheets("kml")
       For i = 1 To .Cells(.Rows.Count, "A").End(xlUp).Row
          A.WriteLine (.Range("A" & i).Value)
       Next i
    End With
    A.Close
    Set A = Nothing
    Set Fs = Nothing
    End Sub
    Bye
    Nico

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 39
    Points : 41
    Points
    41
    Par défaut
    Enorme! Je te remercie, c'est exactement ce qu'il me fallait. Bravo!

  4. #4
    Membre averti Avatar de Nicopilami
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 339
    Points
    339
    Par défaut
    de rien
    ++

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

Discussions similaires

  1. [DATA] Importation fichier texte contenant des emails, dates, etc.
    Par VuVietHai dans le forum SAS Base
    Réponses: 1
    Dernier message: 29/07/2014, 11h57
  2. Réponses: 3
    Dernier message: 11/06/2007, 11h20
  3. [TP] Lecture d'un fichier texte contenant des coordonnées
    Par ichiwa dans le forum Turbo Pascal
    Réponses: 10
    Dernier message: 04/02/2007, 15h07
  4. Charger un fichier texte contenant des caractères
    Par dm_manu dans le forum MATLAB
    Réponses: 5
    Dernier message: 24/12/2006, 02h37
  5. Réponses: 3
    Dernier message: 22/06/2006, 17h34

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