Bonjour à tous !
Je viens vers vous chercher un peu d'aide si possible...
Je cherche à modifier depuis excel un fichier texte (séparateur virgule), mais je n'arrive pas à faire l'enregistrement correctement.
Plus concrètement, on peut simplifier ainsi : j'ai dans la colonne A le nom du fichier à ouvrir et modifier, et dans la colonne B le texte à remplacer. Tout fonctionne bien sauf l'enregistrement : aucune modification n'est sauvegardée !
En plus, j'aimerais ne pas avoir de fenêtres me demandant confirmation de l'écrasement du fichier... (au final, j'aurais 200 ou 300 fichiers à modifier.)
Voici le code que j'ai fait :
Sub ModifTrack()
Dim i As Integer
For i = 1 To 1
Dim NomFichier As String
ThisWorkbook.Sheets("Feuil1").Activate
NomFichier = ActiveSheet.Range("A" & i).Value
If NomFichier = "" Then
GoTo Suite
Else
Workbooks.OpenText Filename:=NomFichier, _
Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _
, Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), _
Array(2, 2), Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2)), _
TrailingMinusNumbers:=True
nom = ActiveWorkbook.Name
ThisWorkbook.Activate
ThisWorkbook.Sheets("Feuil1").Activate
Range("B" & i).Select
Selection.Copy
Windows(nom).Activate
Range("B5").Select
ActiveSheet.Paste
ActiveWorkbook.SaveAs Filename:=nom, FileFormat:=xlCSV
ActiveWindow.Close
End If
Suite:
Next i
End Sub
Merci.
Je viens vers vous chercher un peu d'aide si possible...
Je cherche à modifier depuis excel un fichier texte (séparateur virgule), mais je n'arrive pas à faire l'enregistrement correctement.
Plus concrètement, on peut simplifier ainsi : j'ai dans la colonne A le nom du fichier à ouvrir et modifier, et dans la colonne B le texte à remplacer. Tout fonctionne bien sauf l'enregistrement : aucune modification n'est sauvegardée !
En plus, j'aimerais ne pas avoir de fenêtres me demandant confirmation de l'écrasement du fichier... (au final, j'aurais 200 ou 300 fichiers à modifier.)
Voici le code que j'ai fait :
Sub ModifTrack()
Dim i As Integer
For i = 1 To 1
Dim NomFichier As String
ThisWorkbook.Sheets("Feuil1").Activate
NomFichier = ActiveSheet.Range("A" & i).Value
If NomFichier = "" Then
GoTo Suite
Else
Workbooks.OpenText Filename:=NomFichier, _
Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _
, Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), _
Array(2, 2), Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2)), _
TrailingMinusNumbers:=True
nom = ActiveWorkbook.Name
ThisWorkbook.Activate
ThisWorkbook.Sheets("Feuil1").Activate
Range("B" & i).Select
Selection.Copy
Windows(nom).Activate
Range("B5").Select
ActiveSheet.Paste
ActiveWorkbook.SaveAs Filename:=nom, FileFormat:=xlCSV
ActiveWindow.Close
End If
Suite:
Next i
End Sub
Merci.