Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 21/08/2007, 19h37   #1 (permalink)
XLDnaute Nouveau
 
Date d'inscription: juillet 2005
Messages: 38
Par défaut Créer fichier txt à partir d'un fichier excel

Bonjour le Forum,

Je souhaite transformer mon fichier Excel en un fichier txt pour l'importer dans une base de données.
Mon fichier Excel est très simple une 20taine de colonnes et en générale pas plus de 200 lignes. Dans les cellules, on peut trouver du texte ou des nombres.
Mon fichier txt doit avoir une structure particulière qui est la suivante :
- Dans le fichier txt je ne dois pas sortir la première ligne (intitulé des colonnes) du fichier Excel,
- Chaque ligne de mon fichier excel doit correspondre à une ligne dans le fichier txt,
- Les valeurs des cellules doivent être séparées par un |,
- Si une cellule du fichier excel ne contient pas de valeurs, rien ne doit apparaîte dans le fichier txt (on se retrouve avec 2 | de suite),

Je n'ai aucune idée sur la réalisation de ce type de fichier donc merci pour l'aide que le forum pourra m'apporter.

Kristof
Kristof est déconnecté   Réponse avec citation
ANNONCES
Vieux 21/08/2007, 19h59   #2 (permalink)
XLDnaute Barbatruc
 
Avatar de JCGL
 
Date d'inscription: novembre 2005
Localisation: Grenoble
Version Excel : Excel 2003 (PC)
Messages: 3 707
Par défaut Re : Créer fichier txt à partir d'un fichier excel

Bonjour à tous,

Kristof : si tu joignais un bout de fichier XL cela serait plus simple pour nous et nous n'aurions à le créer pour les tests...

A+
JCGL est connecté maintenant   Réponse avec citation
Vieux 21/08/2007, 20h23   #3 (permalink)
XLDnaute Barbatruc
 
Avatar de myDearFriend!
 
Date d'inscription: février 2005
Messages: 2 378
Par défaut Re : Créer fichier txt à partir d'un fichier excel

Bonsoir Kristof, JCGL,

Je te propose 2 solutions :

La première, la plus simple, manuelle et sans aucun code VBA :
  • Tu sauvegardes ton fichier sous forme de fichier .CSV (séparateur = point-virgule) par menu Fichier / Enregistrer sous.
  • Puis tu renommes le fichier sauvegardé sous forme "MonFichier.csv" en "MonFichier.txt"
  • Tu l'ouvres dans le bloc-note de Windows
  • Puis tu fais : menu Edition / Remplacer et tu remplaces les ";" par des "I" (et tu en profites pour supprimer la première ligne).
La deuxième :
Tu copies et lances la procédure VBA ci-dessous :
Code:
DANS UN MODULE DE CODE STANDARD

Sub Traitement()
'myDearFriend  -  www.mdf-xlpages.com
Dim Plage As Range
Dim Fichier As String, Chaine As String
Dim L As Long
Dim F As Integer, C As Integer
    Set Plage = Sheets(1).UsedRange
    Set Plage = Plage.Offset(1, 0).Resize(Plage.Rows.Count - 1)
    F = FreeFile()
    Fichier = Replace(ThisWorkbook.FullName, ".xls", ".txt")
    Open Fichier For Output As #F
    For L = 1 To Plage.Rows.Count
        Chaine = Plage.Cells(L, 1)
        For C = 2 To Plage.Columns.Count
            Chaine = Chaine & "|" & Plage.Cells(L, C)
        Next C
        Print #F, Chaine
    Next L
    Close #F
End Sub
Edition :
Attention toutefois, compte tenu de la ligne "Fichier = Replace(ThisWorkbook.FullName, ".xls", ".txt")", le fichier Excel d'origine doit déjà avoir été sauvegardé sur le DD avant.

Par ailleurs, si tu possèdes une version Excel 97, il convient de remplacer "Replace" par "Application.Substitute".

Cordialement,
__________________
Didier_mDF

www.mdf-xlpages.com

Dernière modification par myDearFriend! ; 21/08/2007 à 20h28.
myDearFriend! est déconnecté   Réponse avec citation
Vieux 21/08/2007, 21h13   #4 (permalink)
XLDnaute Barbatruc
 
Avatar de JCGL
 
Date d'inscription: novembre 2005
Localisation: Grenoble
Version Excel : Excel 2003 (PC)
Messages: 3 707
Par défaut Re : Créer fichier txt à partir d'un fichier excel

Re,
Salut mDF,

Même sans fichier, mon Cher Ami arrive à pondre un code...

A+ et à tout de suite ;-)
JCGL est connecté maintenant   Réponse avec citation
Vieux 22/08/2007, 13h19   #5 (permalink)
XLDnaute Nouveau
 
Date d'inscription: juillet 2005
Messages: 38
Thumbs up Re : Créer fichier txt à partir d'un fichier excel

Tout cela fonctionne facilement et c'est très simple à mettre en place.

Merci de votre aide.

Kristof
Kristof est déconnecté   Réponse avec citation
Vieux 22/08/2007, 13h24   #6 (permalink)
XLDnaute Nouveau
 
Date d'inscription: mai 2007
Messages: 13
Par défaut Re : Créer fichier txt à partir d'un fichier excel

BJR.


C'est trés impressionnante votre solution monsieur JCGL, moi je m'inquéte pour le sens inverse, C.A.D: est ce que on peut regrouper des fichier TXT dans un emplacement definie en une feuille Excel !

Merci.

Amrane
Amrane est déconnecté   Réponse avec citation
Vieux 22/08/2007, 14h15   #7 (permalink)
XLDnaute Barbatruc
 
Avatar de JCGL
 
Date d'inscription: novembre 2005
Localisation: Grenoble
Version Excel : Excel 2003 (PC)
Messages: 3 707
Par défaut Re : Créer fichier txt à partir d'un fichier excel

Bonjour à tous,

Amrane : Merci de rendre à mDF ce qui n'appartiens pas JCGL

Oui cela est possible dépose un petit exemple

A+
JCGL est connecté maintenant   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
Macro : Créer plusieurs fichiers à partir d'un fichier source gashakura Forum Excel 0 15/05/2007 21h46
mise à jour d'un fichier à partir d'un autre fichier ca74 Forum Excel 2 01/12/2006 14h01
Créer un camembert à partir d'un fichier .csv Nath Forum Excel 3 16/03/2005 13h50
Insertion/Objets/Créer à partir d'un fichier....pour plusieurs objets... Lapou Forum Excel Downloads - Archives 15 23/11/2004 09h47
modifier fichier excel à partir d'un autre fichier nicolas Forum Excel Downloads - Archives 2 13/08/2003 18h12


Fuseau horaire GMT +2. Il est actuellement 19h56.


(C) 2006 Excel Downloads