Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/10/2011, 15h02   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2006
Messages : 72
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 72
Points : 10
Points : 10
Par défaut Transformation fichier Excel -> flatfile

Bonjour,

Je reçois un fichier excel en fin de semaine avec une liste de factures de mon fournisseur avec des colonnes genre : Date, libellé, montant etc.

J'ai une interface qui permet d'importer des factures dans mon logiciel comptable. Par contre ce fichier est un flatfile avec toutes les informations bout à bout (20110101Facture truc bidule475...)

Je pensais utiliser une macro qui me génère ce fichier TXT, mais je suis un peu novice là dedans. Est-ce que vous pouvez m'orienter sur 2-3 instructions a utiliser ainsi que la meilleur façon de fonctionner.

Autre question plus générale, si je code cette Macro sur un de ces fichiers, est-ce qu'elle va être disponible pour mes autres fichiers ?

Merci
BigZ444 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 16h13   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,
La macro demande de choisir le nom du fichier à ouvrir,, donc pas de problème. Par contre, le nom du fichier en sortie est, sauf instruction contraire, codé en dur dans la macro :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub test2()
'réf. 111007.xlsm
Dim Enrgt As String, i As Integer, c As Range, Fichier As String
Fichier = Application.GetOpenFilename("Excel Files (*.xls*), *.xls*")
If Fichier <> "" Then Workbooks.Open Fichier
    Close #1
    Open "c:\temp\toto.txt" For Output As #1
    For Each c In Range([A1], Cells(Rows.Count, 1).End(xlUp))
        Enrgt = ""
        For i = 1 To Cells(c.Row, Columns.Count).End(xlToLeft).Column
            Enrgt = Enrgt & Cells(c.Row, i)
        Next i
        Print #1, Enrgt
    Next c
    Close #1
    ActiveWorkbook.Close False
End Sub
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 16h16   #3
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 899
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 899
Points : 7 185
Points : 7 185
Bonjour,

Sur ce post tu trouveras une réponse sur la création d'un fichier au format txt avec séparateur de champ.
dans ton cas, je pense que chaque champ à une longueur à respecter pour être intégrer correctement dans le logiciel comptable.

http://www.developpez.net/forums/d11...format-defini/

Citation:
utre question plus générale, si je code cette Macro sur un de ces fichiers, est-ce qu'elle va être disponible pour mes autres fichiers ?
En plaçant cette macro dans ton classeur de macro personnel (PERSO.XLS) tu pourras la lancer à partir de tous les fichiers

Reviens vers nous si besoin de plus d'éclaircissement
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 10h15   #4
Candidat au titre de Membre du Club
 
Inscription : avril 2006
Messages : 72
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 72
Points : 10
Points : 10
Merci a vous 2 pour ces informations.

J'ai la base, me reste plus qu'a tricoter là autour.
BigZ444 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h17.


 
 
 
 
Partenaires

Hébergement Web