Je suis au travail en essayant de résoudre quelques problèmes. J'ai un grand fichier .csv qui a 4 colonnes (prénom, nom, numéro d'identification, sexe) et beaucoup de lignes avec les individus correspondants. Je n'utilise pas VBA mais j'essaie d'écrire une macro qui lit le fichier Excel et place les données dans un fichier txt avec un délimiteur d'espace. J'ai utilisé un tutoriel de site Web et est venu avec le suivant, cependant, il semble si faux.lire un fichier csv dans un fichier texte
Sub test()
Dim myFile As String
Dim rng As Range
Dim cellvalue As Variant
Dim i As Integer
Dim j As Integer
myFile = Application.DefaultFilePath & "\Book1.csv"
Set rng = Selection
Open myFile For Output As #1
For i = 1 To rng.Rows.Count
For j = 1 To rng.Columns.Count
cellvalue = rng.Cells(i, j).Value
If j = rng.Columns.Count Then
Write #1, cellvalue
Else
Write #1, cellvalue,
End If
Next j
Next i
Close #1
End Sub
L'idée était de mettre un bouton de commande dans le fichier Excel, écrire ce code, affecter la macro à la touche, sélectionnez les données en question et cliquez sur le bouton. Si quelqu'un est prêt à aider un nouveau type, l'appréciation sera à vous.
Merci pour cela. Maintenant question très naïve. Une fois que cela fonctionne, où va-t-il placer le fichier texte. J'obtiens un succès que la macro s'exécute, mais aucune idée où la tuile de texte est placée. – Rivers31334
Il suffit de mettre un point d'arrêt sur cette ligne: Set rng = Sélection, Déplacez le curseur sous "myFile" vous verrez l'emplacement. –
Application.DefaultFilePath: -> Renvoie ou définit le chemin par défaut que Microsoft Excel utilise lorsqu'il ouvre des fichiers. Lire/écrire une chaîne. –