Exportation données excel

cs_matheo54 Messages postés 65 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 28 novembre 2007 - 20 déc. 2004 à 10:17
cs_matheo54 Messages postés 65 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 28 novembre 2007 - 20 déc. 2004 à 16:42
Bonjour, j'aimerai créer une macro qui me permette d'exporter les données de ma feuille excel vers un .txt. Avez vous des idées de codes pour m'aider?
MERCI :)

13 réponses

glplpmat Messages postés 70 Date d'inscription mercredi 11 juin 2003 Statut Membre Dernière intervention 2 octobre 2006 1
20 déc. 2004 à 10:48
Tu fais un "Save as" ou "enregistrement sous" dans le premier menu et tu choisi txt dans le type de fichier

Si tu veux le faire en mecro, tu n'as qu'a demandé d'enregistrer avant de faire la manipulation

glplpmat
0
cs_matheo54 Messages postés 65 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 28 novembre 2007
20 déc. 2004 à 10:53
Oui C vrai et je te remercie pour ta réponse. Malheureusement pour moi ca ne suffit pas car plus précisement je dois exporter les informations numérique d'une feuille exel dans un fichier txt avec des délimiteurs (;). Dans le cas que tu m'indique ca ne fonctionnerait pas. Dsl c ma faute, j'aurais du être plus précis.
0
glplpmat Messages postés 70 Date d'inscription mercredi 11 juin 2003 Statut Membre Dernière intervention 2 octobre 2006 1
20 déc. 2004 à 11:05
Fait la meme operation en sauvant dans un format csv
Apres tu renomme le fichier csv en txt

glplpmat
0
cs_matheo54 Messages postés 65 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 28 novembre 2007
20 déc. 2004 à 11:16
Merci je vais essayer. Mais je vais devoir rajouter du code pour qu'il y ai qu'un seul délimitateur entre les données et le faire passer une seconde fois en .txt par la suite. je vais voir dsi ca fonctionne mais si vous avez d'autre idées, n'hésitez pas.
Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dp_favresa Messages postés 132 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 11 mai 2010
20 déc. 2004 à 11:36
Bonjour,

Je termine juste un petit cours de formation Excel et j'ai prévu
ce cas. Ci-dessous la macro que j'utilise :
'   ***** Exportation d'un tableau dans un fichier texte (séparateur ;)
'   *******************************************************************
    
    Dim Titre As String * 15
    Dim Nom1 As String * 30
    Dim Nom2 As String * 30
    Dim Rue1 As String * 30
    Dim Rue2 As String * 30
    Dim Nopo As String * 4
    Dim Loca As String * 50
    Dim Pref As String * 3
    Dim Tel As String * 9
    Dim Fax As String * 9
    Dim Bra As String * 3
    Dim Sep As String * 1
    Sep = ";"
    Dim LiFic As String
    Dim Compt1 As Integer
    Application.ScreenUpdating = False
    Open "D:\Mes Documents\Formation\Export.txt" For Output As #1
    For Compt1 = 1 To 30
        If Cells(Compt1, 1) > " " Then
            Titre = Cells(Compt1, 1).Value
            Nom1 = Cells(Compt1, 1).Offset(0, 1).Value
            Nom2 = Cells(Compt1, 1).Offset(0, 2).Value
            Rue1 = Cells(Compt1, 1).Offset(0, 3).Value
            Rue2 = Cells(Compt1, 1).Offset(0, 4).Value
            Nopo = Cells(Compt1, 1).Offset(0, 5).Value
            Loca = Cells(Compt1, 1).Offset(0, 6).Value
            Pref = Cells(Compt1, 1).Offset(0, 7).Value
            Tel = Cells(Compt1, 1).Offset(0, 8).Value
            Fax = Cells(Compt1, 1).Offset(0, 9).Value
            Bra = Cells(Compt1, 1).Offset(0, 10).Value
            LiFic = Titre & Sep & Nom1 & Sep & Nom2 & Sep & Rue1 & Sep & Rue2 & Sep & Nopo & Sep & Loca & Sep & Pref & Sep & Tel & Sep & Fax & Sep & Bra
            Print #1, LiFic
        End If
    Next Compt1
    Close #1
    Application.ScreenUpdating = True

Bon(nes) courage, développement, salutations...
(choisissez ce qui vous convient) dp
0
cs_matheo54 Messages postés 65 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 28 novembre 2007
20 déc. 2004 à 15:20
dp, Je me suis inspiré de ta macro pour exporter mes données. Elle est simplifiée car je n'ais que des données mis au hazarre de la feuille excel mais quand j'execute ca me met un fichier vide. je vous met mon code si vous y détéctez une erreur, je planche dessus depuis ce matin et je n'arrive a aucun résultat accéptable.

Merci

' ***** Exportation d'un tableau dans un fichier texte (séparateur ;)
' *******************************************************************

Dim valeur As String * 15
Dim Sep As String * 1
Sep = ";"
Dim LiFic As String
Dim i As Integer
Dim j As Integer

Application.ScreenUpdating = False

Open "C:\Documents and settings\mat\Bureau\Export.txt" For Output As #1

For i = 1 To 30
For j = 1 To 30
If Cells(i, j).Value <> " " Then
valeur = Cells(i, j).Value
LiFic = LiFic & Sep & valeur
End If
Next j
Next i

Close #1

Application.ScreenUpdating = True
'
End Sub
0
glplpmat Messages postés 70 Date d'inscription mercredi 11 juin 2003 Statut Membre Dernière intervention 2 octobre 2006 1
20 déc. 2004 à 15:29
Dim valeur As String * 15
Dim Sep As String * 1
Sep = ";"
Dim LiFic As String
Dim i As Integer
Dim j As Integer

Application.ScreenUpdating = False

Open "C:\Documents and settings\mat\Bureau\Export.txt" For Output As #1

For i = 1 To 30
For j = 1 To 30

If Cells(i, j).Value <> " " Then

valeur = Cells(i, j).Value
LiFic = LiFic & Sep & valeur
End If
Next j

Print #1, LiFic

Next i

Close #1

glplpmat
0
glplpmat Messages postés 70 Date d'inscription mercredi 11 juin 2003 Statut Membre Dernière intervention 2 octobre 2006 1
20 déc. 2004 à 15:29
Dim valeur As String * 15
Dim Sep As String * 1
Sep = ";"
Dim LiFic As String
Dim i As Integer
Dim j As Integer

Application.ScreenUpdating = False

Open "C:\Documents and settings\mat\Bureau\Export.txt" For Output As #1

For i = 1 To 30
For j = 1 To 30

If Cells(i, j).Value <> "" Then

valeur = Cells(i, j).Value
LiFic = LiFic & Sep & valeur
End If
Next j

Print #1, LiFic

Next i

Close #1

glplpmat
0
cs_matheo54 Messages postés 65 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 28 novembre 2007
20 déc. 2004 à 15:49
ARF, j'avais supprimer le "Print #1, LiFic" pensant que c t une ligne qui permettait l'empression!!! :(
Mais ce n'est pas encore ca, le résultat donne quelque chose comme ca ce qui ne convient pas vraiment :

;Etude alpha ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;HNB ;45 ;78 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;

Moi ce que je recherche ca donnerai comme résultat : "Etude alpha;HNB;45;78"

MERCI a vous :)
0
glplpmat Messages postés 70 Date d'inscription mercredi 11 juin 2003 Statut Membre Dernière intervention 2 octobre 2006 1
20 déc. 2004 à 16:06
Dim valeur As String * 15
Dim Sep As String * 1
Sep = ";"
Dim LiFic As String
Dim i As Integer
Dim j As Integer
Dim tmp

Application.ScreenUpdating = False

Open "C:\Export.txt" For Output As #1

For i = 1 To 30
For j = 1 To 30
tmp = Cells(i, j).Value
If tmp <> "" Then

valeur = Cells(i, j).Value
LiFic = LiFic & Sep & Trim(valeur)
End If
Next j

Print #1, LiFic
LiFic = ""
Next i

Close #1

glplpmat
0
cs_matheo54 Messages postés 65 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 28 novembre 2007
20 déc. 2004 à 16:33
OUF! ca y'est C bon. Je te remercie glplpmat et toi aussi dp.
Un dernier petit point, glplpmat pourquoi as tu utilisé une variable tmp, j'ai essayé avec puis sans et le resultat et le même? d'autre part, que veut dire Trim ( mon fichier d'aide n'est pas installé :( )
Voila, merci encore je laisse quand même la derniére mouture au cas ou ca interresse quelqu'un.
'***************************************************
' Exportation dans un fichier texte (séparateur ;)
'***************************************************

Dim valeur As String * 15
Dim Sep As String * 1
Sep = ";"
Dim LiFic As String
Dim i As Integer
Dim j As Integer

Application.ScreenUpdating = False

Open "C:\Documents and settings\mat\Bureau\Export.txt" For Output As #1
For i = 1 To 30
For j = 1 To 30
If Cells(i, j).Value <> "" Then
valeur = Cells(i, j).Value
LiFic = LiFic & Sep & Trim(valeur)
End If
Next j

Print #1, LiFic
LiFic = ""
Next i

Close #1

Application.ScreenUpdating = True

End Sub
0
glplpmat Messages postés 70 Date d'inscription mercredi 11 juin 2003 Statut Membre Dernière intervention 2 octobre 2006 1
20 déc. 2004 à 16:37
La variable tmp est comme tu l'as dit facultative
J'ai fait un essai et je voulais voir sa valeur

Trim supprime les blanc en debut et en fin de chaine

glplpmat
0
cs_matheo54 Messages postés 65 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 28 novembre 2007
20 déc. 2004 à 16:42
D'accord d'accord, en tt cas je te remercie de ta patience et d'avoir pris le temps de jetter un coup d'oeil à ma demande.
a bientôt au détour du forum

mathieu
0
Rejoignez-nous