Création fichier txt à partir tableau excel [Fermé]

Messages postés
3
Date d'inscription
mardi 18 novembre 2014
Statut
Membre
Dernière intervention
23 novembre 2014
- - Dernière réponse : pijaku
Messages postés
12253
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
19 juillet 2019
- 24 nov. 2014 à 09:15
Bonjour,
Je suis nouveau sur le forum et également totalement novice en création de macro.
J'ai un tableau sous excel. Certaines colonnes m'intéressent d'autres non .
J'aimerai pouvoir choisir les colonnes qui m'intéressent et les regrouper dans un fichier .txt via une macro. Cela m'éviterai de créer un nouveau fichier exel avec que les colonnes qui m'intéressent et ensuite enregistrer ce fichier exel en .txt . Me comprenez vous ?

Voila les colonnes que je voudrais incorporer dans le fichier macro sachant que les autres colonnes de mon tableau ne m'intéressent pas.
- Colonne de E9 à E104
- Colonne de H9 à H104
- Colonne de I9 à I104
- Colonne de J9 à J104
- Colonne de K9 à K104
- Colonne de L9 à L104
- Colonne de M9 à M104

Mon fichier excel se nomme France 1. Quelqu'un aurait-il une macro toute prête pour se genre de données?
Merci pour votre aide
Afficher la suite 

3 réponses

Messages postés
12253
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
19 juillet 2019
2191
0
Merci
Bonjour,

Un exemple de code :

Sub CreerTxt()
Dim Donnees(95)
Dim Lig As Integer
Dim Chemin As String, NomFic As String

Chemin = ThisWorkbook.Path & "\"
NomFic = ThisWorkbook.Name & " " & Format(Now, "ddmmyyyyhhmmss") & ".txt"
With ActiveSheet
    For Lig = 9 To 104
        Donnees(Lig - 9) = .Cells(Lig, 5) & " ; " & .Cells(Lig, 8) & " ; " & .Cells(Lig, 9) & " ; " & .Cells(Lig, 10) & " ; " & .Cells(Lig, 11) & " ; " & .Cells(Lig, 12) & " ; " & .Cells(Lig, 13)
    Next Lig
End With
Open Chemin & NomFic For Output As #1
For Lig = LBound(Donnees) To UBound(Donnees)
    Print #1, Donnees(Lig)
Next
Close #1
End Sub

Messages postés
3
Date d'inscription
mardi 18 novembre 2014
Statut
Membre
Dernière intervention
23 novembre 2014
0
Merci
Merci beaucoup pour votre réponse. J'ai utilisé la macro mais le soucis c'est que rien ne s'affiche. Je m'attendais a ce qu'il y ait un fichier bloc note qui s'ouvre mais rien n'apparait la macro charge quelques secondes mais rien ne s'affiche. Est-ce normal?
Je précise que j'utilise office 2013 et que j'utilise la macro en créant un cercle auquel j'affecte une macro. Merci d'avance
pijaku
Messages postés
12253
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
19 juillet 2019
2191 -
Normalement, dans le répertoire ou se trouve ton fichier excel, tu dois avoir un fichier texte qui a été créé par la macro.
Messages postés
3
Date d'inscription
mardi 18 novembre 2014
Statut
Membre
Dernière intervention
23 novembre 2014
0
Merci
Super ça fonctionne. En fait le soucis c'est que mes données numériques sont sous formes (soit des équations,soustractions...) c'est pour cela que cela ne fonctionnait pas. J'ai fais un copier coller de mes données en faisant un copier les valeurs et ça fonctionne. Du coup est-ce possible qu'il prenne en compte les valeurs numériques sous formule? Ou c'est compliqué ?
Ensuite je voulais vous demander dans quelle partie de la macro je vais pouvoir choisir les colonnes qui m'interessent car j'aimerai pouvoir réutiliser votre exemple et changer eventuellement les colonnes mais je ne trouve pas les intituées dans la macro .
Merci beaucoup vraiment .
pijaku
Messages postés
12253
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
19 juillet 2019
2191 -
est-ce possible qu'il prenne en compte les valeurs numériques sous formule? Ou c'est compliqué ?
Le plus simple est un copié/Collage - valeurs avant de lancer la macro...

Les colonnes sont indiquées dans la syntaxe des Cells sur cette ligne :
Donnees(Lig - 9) = .Cells(Lig, 5) & " ; " & .Cells(Lig, 8) & " ; " & .Cells(Lig, 9) & " ; " & .Cells(Lig, 10) & " ; " & .Cells(Lig, 11) & " ; " & .Cells(Lig, 12) & " ; " & .Cells(Lig, 13)

Cells(Lig, 5) : 5 => Colonne E
Cells(Lig, 8) : 8 => colonne H
etc
Cells(Lig, 13) : 13 => Colonne M
Voili voulou