OVH Cloud OVH Cloud

exportation d'un fichier EXCEL

4 réponses
Avatar
Florent
Je n'arrive pas à exporter un fichier EXCEL en fichier texte simple avec
des largeurs de colonne définies...

C'est à dire que le seul format qui me convient est le format PRN, mais
il semble avoir une longueur maximale de ligne ce qui tronque tous mes
enregistrements.

Avez - vous une solution ???

S'il le faut, je veux bien passer par Access...

Florent

--
---
Multinetworks
www.multinetworks.net



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.775 / Virus Database: 522 - Release Date: 08/10/2004

4 réponses

Avatar
FxM
Bonsoir à toi aussi,

A adapter. testé sous Excel 2000.

Sub test()
Dim texte As String * 12
With Sheets("Feuil1")
fichier = "D:inboxtest000001.txt"
numero = FreeFile
Open fichier For Output As #numero
For a = 1 To .Range("A65536").End(xlUp).Row
texte = .Cells(a, 1)
Print #numero, texte
Next a
Close
End With
End Sub

@+
FxM


Je n'arrive pas à exporter un fichier EXCEL en fichier texte simple avec
des largeurs de colonne définies...

C'est à dire que le seul format qui me convient est le format PRN, mais
il semble avoir une longueur maximale de ligne ce qui tronque tous mes
enregistrements.

Avez - vous une solution ???

S'il le faut, je veux bien passer par Access...

Florent



Avatar
Florent
Ouhlala,
je programme en PHP, en C, mais alors les trucs microsoft, j'aime pas trop
beaucoup ça.
Je fais ça parce que je dois gérer des fichiers sous Access & Excel (mais
j'aime pas trop ça), donc j'y connais rien du tout aux outils microsoft...

Ou est - ce que je tape ce script ??? Est - ce que ça va bien mettre des
champs de largeur égale à chaque fois...
Parce que c'est genre des colonnes qui doivent faire SIREN 7 caractères,
CODE GROUPE de 4 caractères.


Florent


A adapter. testé sous Excel 2000.

Sub test()
Dim texte As String * 12
With Sheets("Feuil1")
fichier = "D:inboxtest000001.txt"
numero = FreeFile
Open fichier For Output As #numero
For a = 1 To .Range("A65536").End(xlUp).Row
texte = .Cells(a, 1)
Print #numero, texte
Next a
Close
End With
End Sub

@+
FxM


Je n'arrive pas à exporter un fichier EXCEL en fichier texte simple
avec des largeurs de colonne définies...

C'est à dire que le seul format qui me convient est le format PRN,
mais il semble avoir une longueur maximale de ligne ce qui tronque tous
mes enregistrements.

Avez - vous une solution ???

S'il le faut, je veux bien passer par Access...

Florent





---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.775 / Virus Database: 522 - Release Date: 08/10/2004


Avatar
FxM
Alt-F11, tu viens d'ouvrir l'éditeur VBE.

Tu recopies le code en adaptant. Pour t'aider, j'ai inséré des lignes
d'explications.

@+
FxM


Sub test()
'dimension des variables
'string -> chaine de caractères
'*7 -> 7 caractères
Dim siren As String * 7
Dim codgr as string * 4

'les données sont sur 'feuil1'
With Sheets("Feuil1")

'fichier où exporter
fichier = "D:inboxtest000001.txt"
numero = FreeFile

'le fichier est ouvert pour remplacer le contenu
Open fichier For Output As #numero

'pour ajouter remplacer par :
Open fichier For append As #numero

'parcourir toutes les lignes de la feuille
For a = 1 To .Range("A65536").End(xlUp).Row

'récupérer les valeurs
'siren est en colonne A (chiffre 1)
siren = .Cells(a, 1)
'codgr est en colonne B (chiffre 2)
codgr = .cells(a,2)

'écrire dans le fichier
Print #numero, siren, codgr

'passer à la ligne suivante
Next a

'fermer le fichier
Close
End With
End Sub




Ouhlala,
je programme en PHP, en C, mais alors les trucs microsoft, j'aime pas trop
beaucoup ça.
Je fais ça parce que je dois gérer des fichiers sous Access & Excel (mais
j'aime pas trop ça), donc j'y connais rien du tout aux outils microsoft...

Ou est - ce que je tape ce script ??? Est - ce que ça va bien mettre des
champs de largeur égale à chaque fois...
Parce que c'est genre des colonnes qui doivent faire SIREN 7 caractères,
CODE GROUPE de 4 caractères.


Florent



A adapter. testé sous Excel 2000.

Sub test()
Dim texte As String * 12
With Sheets("Feuil1")
fichier = "D:inboxtest000001.txt"
numero = FreeFile
Open fichier For Output As #numero
For a = 1 To .Range("A65536").End(xlUp).Row
texte = .Cells(a, 1)
Print #numero, texte
Next a
Close
End With
End Sub

@+
FxM



Je n'arrive pas à exporter un fichier EXCEL en fichier texte simple
avec des largeurs de colonne définies...

C'est à dire que le seul format qui me convient est le format PRN,
mais il semble avoir une longueur maximale de ligne ce qui tronque tous
mes enregistrements.

Avez - vous une solution ???

S'il le faut, je veux bien passer par Access...

Florent






---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.775 / Virus Database: 522 - Release Date: 08/10/2004






Avatar
Florent
En fait, c'est plus simple en passant par ACCESS, mais merci quand même...

Florent

--


"FxM" wrote in message
news:%
Alt-F11, tu viens d'ouvrir l'éditeur VBE.

Tu recopies le code en adaptant. Pour t'aider, j'ai inséré des lignes
d'explications.

@+
FxM


Sub test()
'dimension des variables
'string -> chaine de caractères
'*7 -> 7 caractères
Dim siren As String * 7
Dim codgr as string * 4

'les données sont sur 'feuil1'
With Sheets("Feuil1")

'fichier où exporter
fichier = "D:inboxtest000001.txt"
numero = FreeFile

'le fichier est ouvert pour remplacer le contenu
Open fichier For Output As #numero

'pour ajouter remplacer par :
Open fichier For append As #numero

'parcourir toutes les lignes de la feuille
For a = 1 To .Range("A65536").End(xlUp).Row

'récupérer les valeurs
'siren est en colonne A (chiffre 1)
siren = .Cells(a, 1)
'codgr est en colonne B (chiffre 2)
codgr = .cells(a,2)

'écrire dans le fichier
Print #numero, siren, codgr

'passer à la ligne suivante
Next a

'fermer le fichier
Close
End With
End Sub




Ouhlala,
je programme en PHP, en C, mais alors les trucs microsoft, j'aime pas
trop beaucoup ça.
Je fais ça parce que je dois gérer des fichiers sous Access & Excel (mais
j'aime pas trop ça), donc j'y connais rien du tout aux outils
microsoft...

Ou est - ce que je tape ce script ??? Est - ce que ça va bien mettre des
champs de largeur égale à chaque fois...
Parce que c'est genre des colonnes qui doivent faire SIREN 7 caractères,
CODE GROUPE de 4 caractères.


Florent



A adapter. testé sous Excel 2000.

Sub test()
Dim texte As String * 12
With Sheets("Feuil1")
fichier = "D:inboxtest000001.txt"
numero = FreeFile
Open fichier For Output As #numero
For a = 1 To .Range("A65536").End(xlUp).Row
texte = .Cells(a, 1)
Print #numero, texte
Next a
Close
End With
End Sub

@+
FxM



Je n'arrive pas à exporter un fichier EXCEL en fichier texte simple
avec des largeurs de colonne définies...

C'est à dire que le seul format qui me convient est le format PRN,
mais il semble avoir une longueur maximale de ligne ce qui tronque tous
mes enregistrements.

Avez - vous une solution ???

S'il le faut, je veux bien passer par Access...

Florent






---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.775 / Virus Database: 522 - Release Date: 08/10/2004




---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.775 / Virus Database: 522 - Release Date: 08/10/2004