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.