OVH Cloud OVH Cloud

Création d'un fichier text

8 réponses
Avatar
Jacques
Bonsoir a toutes et tous

Voila, j'essaye de créer un fichier text par rapport a une ligne de données
excel, pour deux méthodes.

1) J'entre des données dans des controls, et ensuite je valide, ce qui
m'envoie les données dans ma feuille et me demande si je veux signer le
contrat.
Si le contrat est signé, j'aimerais qu'ensuite cette ligne de données
soit enregistrée sous un format TXT, avec comme séparateur le " ; ".

Voici la manière pour envoyer ces données.

'ici je repère la dernière ligne vide pour la Collections des données
Sheets("Renseignements").Activate
Range("A7").Select
L = Sheets("Renseignements").Range("A65536").End(xlUp).Row + 1

'Ici c'est le report de la saisie dans la feuille
With Sheets("Renseignements")
.Range("B" & L).Value = txtNomDuMarie.Value
.Range("C" & L).Value = txtPrenomDuMarie.Value

bla, bla, bla

Jusqu' la colonne AY
End if

2) Le même principe, mais pour un UserForm, qui me sert de resultat aprés
une recherche, il y a un bouton qui me sert a créer un fichier avec
sauvegarde de la ligne selectionnée.

Je récupère mes données de cette manière.

ActiveCell.EntireRow.Select

'Je rempli les différants controls
With résultat
'.lblEtat.Value = ActiveCell.Value
.lblNDeContrat = ActiveCell.Offset(0, 0).Value
.txtNomDuMarie.Value = ActiveCell.Offset(0, 1).Value
.txtPrenomDuMarie.Value = ActiveCell.Offset(0, 2).Value

Jusqu'a l'offest (0,50)


J'espère être assez claire, et vous remercie d'avance, Jacques

8 réponses

Avatar
Clément Marcotte
Bonjour,

Va voir là:

http://frederic.sigonneau.free.fr/Formats.htm

ou là:

http://www.excelabo.net/xl/sortir.php#csv;,

http://www.excelabo.net/xl/sortir.php#accessequentiel

"Jacques" a écrit dans le message de news:
437f8563$0$20159$
Bonsoir a toutes et tous

Voila, j'essaye de créer un fichier text par rapport a une ligne de
données excel, pour deux méthodes.

1) J'entre des données dans des controls, et ensuite je valide, ce qui
m'envoie les données dans ma feuille et me demande si je veux signer le
contrat.
Si le contrat est signé, j'aimerais qu'ensuite cette ligne de données
soit enregistrée sous un format TXT, avec comme séparateur le " ; ".

Voici la manière pour envoyer ces données.

'ici je repère la dernière ligne vide pour la Collections des données
Sheets("Renseignements").Activate
Range("A7").Select
L = Sheets("Renseignements").Range("A65536").End(xlUp).Row + 1

'Ici c'est le report de la saisie dans la feuille
With Sheets("Renseignements")
.Range("B" & L).Value = txtNomDuMarie.Value
.Range("C" & L).Value = txtPrenomDuMarie.Value

bla, bla, bla

Jusqu' la colonne AY
End if

2) Le même principe, mais pour un UserForm, qui me sert de resultat aprés
une recherche, il y a un bouton qui me sert a créer un fichier avec
sauvegarde de la ligne selectionnée.

Je récupère mes données de cette manière.

ActiveCell.EntireRow.Select

'Je rempli les différants controls
With résultat
'.lblEtat.Value = ActiveCell.Value
.lblNDeContrat = ActiveCell.Offset(0, 0).Value
.txtNomDuMarie.Value = ActiveCell.Offset(0, 1).Value
.txtPrenomDuMarie.Value = ActiveCell.Offset(0, 2).Value

Jusqu'a l'offest (0,50)


J'espère être assez claire, et vous remercie d'avance, Jacques



Avatar
Jacques
Clément MARCOTTE

J'avais bien tenté regardé sur le site de frédéric SIGONNEAU, et je
n'arrivais pas a adapter les codes proposé a ce que je devais faire.

Merci encore, Jacques
"Clément Marcotte" a écrit dans le message
de news:
Bonjour,

Va voir là:

http://frederic.sigonneau.free.fr/Formats.htm

ou là:

http://www.excelabo.net/xl/sortir.php#csv;,

http://www.excelabo.net/xl/sortir.php#accessequentiel

"Jacques" a écrit dans le message de news:
437f8563$0$20159$
Bonsoir a toutes et tous

Voila, j'essaye de créer un fichier text par rapport a une ligne de
données excel, pour deux méthodes.

1) J'entre des données dans des controls, et ensuite je valide, ce qui
m'envoie les données dans ma feuille et me demande si je veux signer le
contrat.
Si le contrat est signé, j'aimerais qu'ensuite cette ligne de données
soit enregistrée sous un format TXT, avec comme séparateur le " ; ".

Voici la manière pour envoyer ces données.

'ici je repère la dernière ligne vide pour la Collections des données
Sheets("Renseignements").Activate
Range("A7").Select
L = Sheets("Renseignements").Range("A65536").End(xlUp).Row + 1

'Ici c'est le report de la saisie dans la feuille
With Sheets("Renseignements")
.Range("B" & L).Value = txtNomDuMarie.Value
.Range("C" & L).Value = txtPrenomDuMarie.Value

bla, bla, bla

Jusqu' la colonne AY
End if

2) Le même principe, mais pour un UserForm, qui me sert de resultat aprés
une recherche, il y a un bouton qui me sert a créer un fichier avec
sauvegarde de la ligne selectionnée.

Je récupère mes données de cette manière.

ActiveCell.EntireRow.Select

'Je rempli les différants controls
With résultat
'.lblEtat.Value = ActiveCell.Value
.lblNDeContrat = ActiveCell.Offset(0, 0).Value
.txtNomDuMarie.Value = ActiveCell.Offset(0, 1).Value
.txtPrenomDuMarie.Value = ActiveCell.Offset(0, 2).Value

Jusqu'a l'offest (0,50)


J'espère être assez claire, et vous remercie d'avance, Jacques







Avatar
Jacques
Bonjour a toutes et tous

Sur tout ce que j'ai vu, il y aurai ce code qui pourrait aller avec ce que
je veux faire.

Sub ExportRangeVersTxt()
Dim DestFile$, f%
DestFile = "d:testText1.txt"
f = FreeFile
Open DestFile For Append As #f
With Range("A1:B5")
For c = 1 To .Columns.Count
For r = 1 To .Rows.Count
Print #f, .Cells(r, c).Text
Next r
Next c
End With
Close #f
End Sub


Merci a Frédéric SIGONNEAU

J'ai bien réussi a donner une autre destination

Mais je n'arrive pas a adapter cela a mon cas, c'est a dire avec la ligne
qui viens d'être créer, de A:AY & L

Merci, Jacques
"Jacques" a écrit dans le message de news:
437fa7a3$0$6679$
Clément MARCOTTE

J'avais bien tenté regardé sur le site de frédéric SIGONNEAU, et je
n'arrivais pas a adapter les codes proposé a ce que je devais faire.

Merci encore, Jacques
"Clément Marcotte" a écrit dans le message
de news:
Bonjour,

Va voir là:

http://frederic.sigonneau.free.fr/Formats.htm

ou là:

http://www.excelabo.net/xl/sortir.php#csv;,

http://www.excelabo.net/xl/sortir.php#accessequentiel

"Jacques" a écrit dans le message de news:
437f8563$0$20159$
Bonsoir a toutes et tous

Voila, j'essaye de créer un fichier text par rapport a une ligne de
données excel, pour deux méthodes.

1) J'entre des données dans des controls, et ensuite je valide, ce qui
m'envoie les données dans ma feuille et me demande si je veux signer le
contrat.
Si le contrat est signé, j'aimerais qu'ensuite cette ligne de données
soit enregistrée sous un format TXT, avec comme séparateur le " ; ".

Voici la manière pour envoyer ces données.

'ici je repère la dernière ligne vide pour la Collections des données
Sheets("Renseignements").Activate
Range("A7").Select
L = Sheets("Renseignements").Range("A65536").End(xlUp).Row + 1

'Ici c'est le report de la saisie dans la feuille
With Sheets("Renseignements")
.Range("B" & L).Value = txtNomDuMarie.Value
.Range("C" & L).Value = txtPrenomDuMarie.Value

bla, bla, bla

Jusqu' la colonne AY
End if

2) Le même principe, mais pour un UserForm, qui me sert de resultat
aprés une recherche, il y a un bouton qui me sert a créer un fichier
avec sauvegarde de la ligne selectionnée.

Je récupère mes données de cette manière.

ActiveCell.EntireRow.Select

'Je rempli les différants controls
With résultat
'.lblEtat.Value = ActiveCell.Value
.lblNDeContrat = ActiveCell.Offset(0, 0).Value
.txtNomDuMarie.Value = ActiveCell.Offset(0, 1).Value
.txtPrenomDuMarie.Value = ActiveCell.Offset(0, 2).Value

Jusqu'a l'offest (0,50)


J'espère être assez claire, et vous remercie d'avance, Jacques











Avatar
Jacques
Re

Voici ce que j'ai fait :

Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne Numéro

'ici je repère la dernière ligne vide pour la Collections des données
Sheets("Renseignements").Activate
Range("A7").Select
L = Sheets("Renseignements").Range("A65536").End(xlUp).Row + 1

Dim DestFile$, f%
DestFile = "E:SAUVEGARDE BUREAUTIQUEMEGA-NIGHT
SONOClientsContratsContrats PDF.txt"
f = FreeFile
Open DestFile For Append As #f
Print #f, .Range("A7:AY7" & L).Text
Close #f

Mais cela ne met dans le fichier txt, la valeur de la cellule A de la ligne
créer, je n'arrive pas a prendre toutes les colonnes.

Merci, Jacques
"Jacques" a écrit dans le message de news:
437f8563$0$20159$
Bonsoir a toutes et tous

Voila, j'essaye de créer un fichier text par rapport a une ligne de
données excel, pour deux méthodes.

1) J'entre des données dans des controls, et ensuite je valide, ce qui
m'envoie les données dans ma feuille et me demande si je veux signer le
contrat.
Si le contrat est signé, j'aimerais qu'ensuite cette ligne de données
soit enregistrée sous un format TXT, avec comme séparateur le " ; ".

Voici la manière pour envoyer ces données.

'ici je repère la dernière ligne vide pour la Collections des données
Sheets("Renseignements").Activate
Range("A7").Select
L = Sheets("Renseignements").Range("A65536").End(xlUp).Row + 1

'Ici c'est le report de la saisie dans la feuille
With Sheets("Renseignements")
.Range("B" & L).Value = txtNomDuMarie.Value
.Range("C" & L).Value = txtPrenomDuMarie.Value

bla, bla, bla

Jusqu' la colonne AY
End if

2) Le même principe, mais pour un UserForm, qui me sert de resultat aprés
une recherche, il y a un bouton qui me sert a créer un fichier avec
sauvegarde de la ligne selectionnée.

Je récupère mes données de cette manière.

ActiveCell.EntireRow.Select

'Je rempli les différants controls
With résultat
'.lblEtat.Value = ActiveCell.Value
.lblNDeContrat = ActiveCell.Offset(0, 0).Value
.txtNomDuMarie.Value = ActiveCell.Offset(0, 1).Value
.txtPrenomDuMarie.Value = ActiveCell.Offset(0, 2).Value

Jusqu'a l'offest (0,50)


J'espère être assez claire, et vous remercie d'avance, Jacques



Avatar
michdenis
Bonjour Jacques,


Voici une façon de faire.

Prend soin de définir les différents paramètres de la procédure : EnregistrerFormatSpecial

'-----------------------------------
Sub EnregistrerFormatSpecial()

Dim Plage As Range, Séparateur As String
Dim NomFichierSauvegarde As String
Dim R As Long, C As Integer

With Workbooks("NomDeTonClasseur.xls")
With .Worksheets("NomDeLaFeuille")
'Définir l'étendue de ta plage
Set Plage = .Range("A1:G5")
End With
End With

'Choisis le séparateur de ton choix
Séparateur = ";"

'Endroit où va s'enregistrer le fichier et
'le nom du fichier. Évidemment le chemin doit
'exister...le fichier,lui, sera crée chemin faisant.
NomFichierSauvegarde = "C:Denis.csv"

SaveAsCSV Plage, Séparateur, NomFichierSauvegarde

End Sub
'-----------------------------------
Sub SaveAsCSV(Plage As Range, Séparateur As String, _
NomFichierSauvegarde As String)

Dim Temp As String, R As Range, C As Range

Open NomFichierSauvegarde For Output As #1
For Each R In Plage.Rows
Temp = ""
For Each C In R.Cells
Temp = Temp & C & Séparateur
Next
Temp = Left(Temp, Len(Temp) - 3)
Print #1, Temp
Next
Close
Set Plage = Nothing: Set C = Nothing: Set R = Nothing
End Sub
'-----------------------------------



Salutations!







"Jacques" a écrit dans le message de news: 43804b50$0$20165$
Bonjour a toutes et tous

Sur tout ce que j'ai vu, il y aurai ce code qui pourrait aller avec ce que
je veux faire.

Sub ExportRangeVersTxt()
Dim DestFile$, f%
DestFile = "d:testText1.txt"
f = FreeFile
Open DestFile For Append As #f
With Range("A1:B5")
For c = 1 To .Columns.Count
For r = 1 To .Rows.Count
Print #f, .Cells(r, c).Text
Next r
Next c
End With
Close #f
End Sub


Merci a Frédéric SIGONNEAU

J'ai bien réussi a donner une autre destination

Mais je n'arrive pas a adapter cela a mon cas, c'est a dire avec la ligne
qui viens d'être créer, de A:AY & L

Merci, Jacques
"Jacques" a écrit dans le message de news:
437fa7a3$0$6679$
Clément MARCOTTE

J'avais bien tenté regardé sur le site de frédéric SIGONNEAU, et je
n'arrivais pas a adapter les codes proposé a ce que je devais faire.

Merci encore, Jacques
"Clément Marcotte" a écrit dans le message
de news:
Bonjour,

Va voir là:

http://frederic.sigonneau.free.fr/Formats.htm

ou là:

http://www.excelabo.net/xl/sortir.php#csv;,

http://www.excelabo.net/xl/sortir.php#accessequentiel

"Jacques" a écrit dans le message de news:
437f8563$0$20159$
Bonsoir a toutes et tous

Voila, j'essaye de créer un fichier text par rapport a une ligne de
données excel, pour deux méthodes.

1) J'entre des données dans des controls, et ensuite je valide, ce qui
m'envoie les données dans ma feuille et me demande si je veux signer le
contrat.
Si le contrat est signé, j'aimerais qu'ensuite cette ligne de données
soit enregistrée sous un format TXT, avec comme séparateur le " ; ".

Voici la manière pour envoyer ces données.

'ici je repère la dernière ligne vide pour la Collections des données
Sheets("Renseignements").Activate
Range("A7").Select
L = Sheets("Renseignements").Range("A65536").End(xlUp).Row + 1

'Ici c'est le report de la saisie dans la feuille
With Sheets("Renseignements")
.Range("B" & L).Value = txtNomDuMarie.Value
.Range("C" & L).Value = txtPrenomDuMarie.Value

bla, bla, bla

Jusqu' la colonne AY
End if

2) Le même principe, mais pour un UserForm, qui me sert de resultat
aprés une recherche, il y a un bouton qui me sert a créer un fichier
avec sauvegarde de la ligne selectionnée.

Je récupère mes données de cette manière.

ActiveCell.EntireRow.Select

'Je rempli les différants controls
With résultat
'.lblEtat.Value = ActiveCell.Value
.lblNDeContrat = ActiveCell.Offset(0, 0).Value
.txtNomDuMarie.Value = ActiveCell.Offset(0, 1).Value
.txtPrenomDuMarie.Value = ActiveCell.Offset(0, 2).Value

Jusqu'a l'offest (0,50)


J'espère être assez claire, et vous remercie d'avance, Jacques











Avatar
Jacques
Michedenis

Merci pour ton code.

Je l'ai essayé, et cela me crée un fichier excel, avec plein de séparateur,
de ce que contien la feuille choisie.
J'ai bien essayé de le faire fonctionner, pour mon cas précis, mais en vain.

Ce que je cherche a faire, c'est récupérer juste la ligne de données qui
vient d'être créée, comme ceci :

Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne Numéro

'ici je repère la dernière ligne vide pour la Collections des données
Sheets("Renseignements").Activate
Range("A7").Select
L = Sheets("Renseignements").Range("A65536").End(xlUp).Row + 1
'Ici c'est le report de la saisie dans la feuille
With Sheets("Renseignements")
.Range("B" & L).Value = txtNomDuMarie.Value
.Range("C" & L).Value = txtPrenomDuMarie.Value
.Range("D" & L).Value = "' " & txtPortableDuMarie.Value
.Range("E" & L).Value = txtMailDuMarie.Value

ceci jusqu' a la colonne "AY"

'Ensuite je fais une mise en forme, et un trie, de cette manière

Call MiseEnFormeDossier(Range([A65536].End(xlUp)(1), _
[AY65536].End(xlUp)(1))) 'Modifier si ajout de colonne
Call Trie
Call LargueurAutomatique
End With

Et je n'arrive pas a créer un fichier .txt de la ligne qui viens d'être
faite, qui correspond a la variable "L"

J'espère que tu n'auras pas trop passé de temps avec ton code et je
m'excuse, si mes explications ne sont pas assez claire, mais je n'arrive pas
a l'utiliser pour arriver a mes fins

En te remerciant de toutes les aides que tu m'a apportées jusqu'a ce jours.

Merci, Jacques


"michdenis" a écrit dans le message de news:
%23IM%
Bonjour Jacques,


Voici une façon de faire.

Prend soin de définir les différents paramètres de la procédure :
EnregistrerFormatSpecial

'-----------------------------------
Sub EnregistrerFormatSpecial()

Dim Plage As Range, Séparateur As String
Dim NomFichierSauvegarde As String
Dim R As Long, C As Integer

With Workbooks("NomDeTonClasseur.xls")
With .Worksheets("NomDeLaFeuille")
'Définir l'étendue de ta plage
Set Plage = .Range("A1:G5")
End With
End With

'Choisis le séparateur de ton choix
Séparateur = ";"

'Endroit où va s'enregistrer le fichier et
'le nom du fichier. Évidemment le chemin doit
'exister...le fichier,lui, sera crée chemin faisant.
NomFichierSauvegarde = "C:Denis.csv"

SaveAsCSV Plage, Séparateur, NomFichierSauvegarde

End Sub
'-----------------------------------
Sub SaveAsCSV(Plage As Range, Séparateur As String, _
NomFichierSauvegarde As String)

Dim Temp As String, R As Range, C As Range

Open NomFichierSauvegarde For Output As #1
For Each R In Plage.Rows
Temp = ""
For Each C In R.Cells
Temp = Temp & C & Séparateur
Next
Temp = Left(Temp, Len(Temp) - 3)
Print #1, Temp
Next
Close
Set Plage = Nothing: Set C = Nothing: Set R = Nothing
End Sub
'-----------------------------------



Salutations!







"Jacques" a écrit dans le message de news:
43804b50$0$20165$
Bonjour a toutes et tous

Sur tout ce que j'ai vu, il y aurai ce code qui pourrait aller avec ce que
je veux faire.

Sub ExportRangeVersTxt()
Dim DestFile$, f%
DestFile = "d:testText1.txt"
f = FreeFile
Open DestFile For Append As #f
With Range("A1:B5")
For c = 1 To .Columns.Count
For r = 1 To .Rows.Count
Print #f, .Cells(r, c).Text
Next r
Next c
End With
Close #f
End Sub


Merci a Frédéric SIGONNEAU

J'ai bien réussi a donner une autre destination

Mais je n'arrive pas a adapter cela a mon cas, c'est a dire avec la ligne
qui viens d'être créer, de A:AY & L

Merci, Jacques
"Jacques" a écrit dans le message de news:
437fa7a3$0$6679$
Clément MARCOTTE

J'avais bien tenté regardé sur le site de frédéric SIGONNEAU, et je
n'arrivais pas a adapter les codes proposé a ce que je devais faire.

Merci encore, Jacques
"Clément Marcotte" a écrit dans le
message
de news:
Bonjour,

Va voir là:

http://frederic.sigonneau.free.fr/Formats.htm

ou là:

http://www.excelabo.net/xl/sortir.php#csv;,

http://www.excelabo.net/xl/sortir.php#accessequentiel

"Jacques" a écrit dans le message de news:
437f8563$0$20159$
Bonsoir a toutes et tous

Voila, j'essaye de créer un fichier text par rapport a une ligne de
données excel, pour deux méthodes.

1) J'entre des données dans des controls, et ensuite je valide, ce qui
m'envoie les données dans ma feuille et me demande si je veux signer le
contrat.
Si le contrat est signé, j'aimerais qu'ensuite cette ligne de données
soit enregistrée sous un format TXT, avec comme séparateur le " ;
".

Voici la manière pour envoyer ces données.

'ici je repère la dernière ligne vide pour la Collections des données
Sheets("Renseignements").Activate
Range("A7").Select
L = Sheets("Renseignements").Range("A65536").End(xlUp).Row + 1

'Ici c'est le report de la saisie dans la feuille
With Sheets("Renseignements")
.Range("B" & L).Value = txtNomDuMarie.Value
.Range("C" & L).Value = txtPrenomDuMarie.Value

bla, bla, bla

Jusqu' la colonne AY
End if

2) Le même principe, mais pour un UserForm, qui me sert de resultat
aprés une recherche, il y a un bouton qui me sert a créer un fichier
avec sauvegarde de la ligne selectionnée.

Je récupère mes données de cette manière.

ActiveCell.EntireRow.Select

'Je rempli les différants controls
With résultat
'.lblEtat.Value = ActiveCell.Value
.lblNDeContrat = ActiveCell.Offset(0, 0).Value
.txtNomDuMarie.Value = ActiveCell.Offset(0, 1).Value
.txtPrenomDuMarie.Value = ActiveCell.Offset(0, 2).Value

Jusqu'a l'offest (0,50)


J'espère être assez claire, et vous remercie d'avance, Jacques
















Avatar
michdenis
Bonjour Jacques,

| cela me crée un fichier excel, avec plein de séparateur,

À partir de l'explorateur Windows, si tu double-cliques sur un fichier ayant une extension « . csv» il se peut qu'il s'ouvre avec
Excel pour programme de fond. Si tu veux l'ouvrir comme un fichier « Texte », un clic droit sur le fichier, et dans la liste
déroulante, tu choisis la commande « ouvrir avec »... on devrait alors te proposer « NotePad» comme éditeur. Tout ceci relève de la
configuration de Windows (type de fichier associé à l'éditeur et peut être modifié au besoin... mais ce n'est pas là mon propos!)

Pour ce qui est du séparateur, habituellement, une ligne d'une
feuille de calcul (exemple A1:C2) se traduit de cette manière
dans un fichier. csv.

Le contenu de A1;Le contenu de B1;Le contenu de C1
Le contenu de A2;Le contenu de B2;Le contenu de C3

Si tu désires autre chose, tu dois le laisser savoir... et ce sera un fichier « . CSV SPECIAL».

Concernant la procédure, tu devrais insérer le code soumis après cette section, si tu veux
obtenir la dernière ligne correspond à la lettre L
'---------------------------------------
L = Sheets("Renseignements").Range("A65536").End(xlUp).Row + 1
'Ici c'est le report de la saisie dans la feuille
With Sheets("Renseignements")
.Range("B" & L).Value = txtNomDuMarie.Value
.Range("C" & L).Value = txtPrenomDuMarie.Value
.Range("D" & L).Value = "' " & txtPortableDuMarie.Value
.Range("E" & L).Value = txtMailDuMarie.Value
'..../.....

Séparateur = ";"
NomFichierSauvegarde = "C:LeCheminNomFichier.csv"
SaveAsCSV .range("B"&L&":AY"&L), Séparateur, NomFichierSauvegarde

'le reste de ton code.
'---------------------------------------


Salutations!




"Jacques" a écrit dans le message de news: 4380d6e7$0$20159$
Michedenis

Merci pour ton code.

Je l'ai essayé, et cela me crée un fichier excel, avec plein de séparateur,
de ce que contien la feuille choisie.
J'ai bien essayé de le faire fonctionner, pour mon cas précis, mais en vain.

Ce que je cherche a faire, c'est récupérer juste la ligne de données qui
vient d'être créée, comme ceci :

Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne Numéro

'ici je repère la dernière ligne vide pour la Collections des données
Sheets("Renseignements").Activate
Range("A7").Select
L = Sheets("Renseignements").Range("A65536").End(xlUp).Row + 1
'Ici c'est le report de la saisie dans la feuille
With Sheets("Renseignements")
.Range("B" & L).Value = txtNomDuMarie.Value
.Range("C" & L).Value = txtPrenomDuMarie.Value
.Range("D" & L).Value = "' " & txtPortableDuMarie.Value
.Range("E" & L).Value = txtMailDuMarie.Value

ceci jusqu' a la colonne "AY"

'Ensuite je fais une mise en forme, et un trie, de cette manière

Call MiseEnFormeDossier(Range([A65536].End(xlUp)(1), _
[AY65536].End(xlUp)(1))) 'Modifier si ajout de colonne
Call Trie
Call LargueurAutomatique
End With

Et je n'arrive pas a créer un fichier .txt de la ligne qui viens d'être
faite, qui correspond a la variable "L"

J'espère que tu n'auras pas trop passé de temps avec ton code et je
m'excuse, si mes explications ne sont pas assez claire, mais je n'arrive pas
a l'utiliser pour arriver a mes fins

En te remerciant de toutes les aides que tu m'a apportées jusqu'a ce jours.

Merci, Jacques


"michdenis" a écrit dans le message de news:
%23IM%
Bonjour Jacques,


Voici une façon de faire.

Prend soin de définir les différents paramètres de la procédure :
EnregistrerFormatSpecial

'-----------------------------------
Sub EnregistrerFormatSpecial()

Dim Plage As Range, Séparateur As String
Dim NomFichierSauvegarde As String
Dim R As Long, C As Integer

With Workbooks("NomDeTonClasseur.xls")
With .Worksheets("NomDeLaFeuille")
'Définir l'étendue de ta plage
Set Plage = .Range("A1:G5")
End With
End With

'Choisis le séparateur de ton choix
Séparateur = ";"

'Endroit où va s'enregistrer le fichier et
'le nom du fichier. Évidemment le chemin doit
'exister...le fichier,lui, sera crée chemin faisant.
NomFichierSauvegarde = "C:Denis.csv"

SaveAsCSV Plage, Séparateur, NomFichierSauvegarde

End Sub
'-----------------------------------
Sub SaveAsCSV(Plage As Range, Séparateur As String, _
NomFichierSauvegarde As String)

Dim Temp As String, R As Range, C As Range

Open NomFichierSauvegarde For Output As #1
For Each R In Plage.Rows
Temp = ""
For Each C In R.Cells
Temp = Temp & C & Séparateur
Next
Temp = Left(Temp, Len(Temp) - 3)
Print #1, Temp
Next
Close
Set Plage = Nothing: Set C = Nothing: Set R = Nothing
End Sub
'-----------------------------------



Salutations!







"Jacques" a écrit dans le message de news:
43804b50$0$20165$
Bonjour a toutes et tous

Sur tout ce que j'ai vu, il y aurai ce code qui pourrait aller avec ce que
je veux faire.

Sub ExportRangeVersTxt()
Dim DestFile$, f%
DestFile = "d:testText1.txt"
f = FreeFile
Open DestFile For Append As #f
With Range("A1:B5")
For c = 1 To .Columns.Count
For r = 1 To .Rows.Count
Print #f, .Cells(r, c).Text
Next r
Next c
End With
Close #f
End Sub


Merci a Frédéric SIGONNEAU

J'ai bien réussi a donner une autre destination

Mais je n'arrive pas a adapter cela a mon cas, c'est a dire avec la ligne
qui viens d'être créer, de A:AY & L

Merci, Jacques
"Jacques" a écrit dans le message de news:
437fa7a3$0$6679$
Clément MARCOTTE

J'avais bien tenté regardé sur le site de frédéric SIGONNEAU, et je
n'arrivais pas a adapter les codes proposé a ce que je devais faire.

Merci encore, Jacques
"Clément Marcotte" a écrit dans le
message
de news:
Bonjour,

Va voir là:

http://frederic.sigonneau.free.fr/Formats.htm

ou là:

http://www.excelabo.net/xl/sortir.php#csv;,

http://www.excelabo.net/xl/sortir.php#accessequentiel

"Jacques" a écrit dans le message de news:
437f8563$0$20159$
Bonsoir a toutes et tous

Voila, j'essaye de créer un fichier text par rapport a une ligne de
données excel, pour deux méthodes.

1) J'entre des données dans des controls, et ensuite je valide, ce qui
m'envoie les données dans ma feuille et me demande si je veux signer le
contrat.
Si le contrat est signé, j'aimerais qu'ensuite cette ligne de données
soit enregistrée sous un format TXT, avec comme séparateur le " ;
".

Voici la manière pour envoyer ces données.

'ici je repère la dernière ligne vide pour la Collections des données
Sheets("Renseignements").Activate
Range("A7").Select
L = Sheets("Renseignements").Range("A65536").End(xlUp).Row + 1

'Ici c'est le report de la saisie dans la feuille
With Sheets("Renseignements")
.Range("B" & L).Value = txtNomDuMarie.Value
.Range("C" & L).Value = txtPrenomDuMarie.Value

bla, bla, bla

Jusqu' la colonne AY
End if

2) Le même principe, mais pour un UserForm, qui me sert de resultat
aprés une recherche, il y a un bouton qui me sert a créer un fichier
avec sauvegarde de la ligne selectionnée.

Je récupère mes données de cette manière.

ActiveCell.EntireRow.Select

'Je rempli les différants controls
With résultat
'.lblEtat.Value = ActiveCell.Value
.lblNDeContrat = ActiveCell.Offset(0, 0).Value
.txtNomDuMarie.Value = ActiveCell.Offset(0, 1).Value
.txtPrenomDuMarie.Value = ActiveCell.Offset(0, 2).Value

Jusqu'a l'offest (0,50)


J'espère être assez claire, et vous remercie d'avance, Jacques
















Avatar
michdenis
J'allais oublié :

La ligne de code proposé appelle cette procédure. Encore faut-il
que cette dernière soit disponible dans un module standard.

'-----------------------------------
Sub SaveAsCSV(Plage As Range, Séparateur As String, _
NomFichierSauvegarde As String)

Dim Temp As String, R As Range, C As Range

Open NomFichierSauvegarde For Output As #1
For Each R In Plage.Rows
Temp = ""
For Each C In R.Cells
Temp = Temp & C & Séparateur
Next
Temp = Left(Temp, Len(Temp) - 3)
Print #1, Temp
Next
Close
Set Plage = Nothing: Set C = Nothing: Set R = Nothing
End Sub
'-----------------------------------


Salutations!