Retour à la FAQ


Comment enregistrer une plage en fichier texte?

Sub FichierTexte() 'séparateur de colonne "," Voir***
Dim Var As Object
Set Var = Application.InputBox(Prompt:="Sélectionner votre zone: (Ex. A1:B10) ", _
Title:="Sélection de zone ", Default:="$A$1", Type:=8)

FichierTXT = "C:\ajeter\essai.txt" 'chemin et nom à modifier

NbColonne = Var.Columns.Count
NbLigne = Var.Rows.Count
CalcState = Application.Calculation
StatusBarState = Application.DisplayStatusBar
Application.Calculation = xlManual
Calculate

Application.StatusBar = "Patientez SVP...création du fichier"
If Len(Dir(FichierTXT)) > 1 Then Kill FichierTXT 'Supprime le fichier s'il existe déjà
Open FichierTXT For Output As 1
'création du fichier texte
Print #1, "Fichier texte crée à partir du tableau Excel"
Print #1, " - Départ du tableau - "
Print #1, ""

'Vous pouvez mettre en commentaires les 3 lignes ci-dessus

While Row < NbLigne
Row = Row + 1
DoEvents
Application.StatusBar = Str$(Int((Row / NbLigne) * 100)) & "% achevé"
If (Not Var.Rows(Row).Hidden) Then
MV = ""
Col = 0
While Col < NbColonne
Col = Col + 1
If (Not Var.Columns(Col).Hidden) Then
CellV = Var.Cells(Row, Col).Text
End If

MV = MV & CellA & "," & CellV
'*** changer dans la ligne ci-dessus le séparateur si vous le désirez ( "," )
Wend
Print #1, MV
End If
Wend

Print #1, ""
Print #1, " - Fin du tableau - "
Print #1, "Nota: Fichier généré par la macro de création de fichier texte "
Print #1, "Nota: Le séparateur de colonne est la virgule "

'Vous pouvez mettre en commentaires les 4 lignes ci-dessus

Close
DoEvents
Application.Calculation = CalcState
Application.StatusBar = ""
Application.DisplayStatusBar = StatusBarState
End Sub

 


[top]