Macro pour enregistrer le classeur en tant que fichier texte, Excel VBA

Si vous le souhaitez, vous pouvez enregistrer un classeur entier dans un fichier texte. Par défaut, vous ne pouvez effectuer cette action que sur une seule table. Vous pouvez utiliser une macro pour enregistrer toutes les tables d’un classeur ligne par ligne et colonne par colonne dans un fichier texte. La macro pour cette tâche est présentée dans l’extrait.

Sub Enregistrerclasseurfichiertexte


Dim data as range

Dim Row As Range

Dim Cell As Range

Dim s As String

Dim i As Integer

   For i = 1 To ActiveWorkbook.Sheets.Count

   Set data = ActiveSheet.UsedRange

   Open "c: \ my files \ output" & i & ".csv" _

    For Output As # 1

   For Each Row In Data.Rows

     For Each Cell In Row.Cells

       s = s & CStr (Cell.Text) & ";"

     Next

     Print # 1, s

     s = ""

Next

  Close #1

  Sheets(i).Activate

Next i

End Sub

Définissez d’abord la zone de données que vous souhaitez enregistrer dans un fichier texte à l’aide de l’instruction Set. Cette zone est la zone utilisée dans une table, que vous pouvez trouver à l’aide de l’instruction ActiveSheet.UsedRange. Ensuite, ouvrez le fichier de sortie, qui, d’ailleurs, n’a même pas besoin d’être créé. Dans la double boucle qui suit, vous écrivez les cellules individuelles, séparées par un point-virgule, dans la variable s. A l’aide de l’instruction Print, vous écrivez cette variable à la fin de chaque ligne du fichier texte. Lorsque vous avez transféré toutes les lignes, fermez le fichier texte avec la commande Fermer.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x