Modifications en csv ne s'enregistrent pas !
Bonjour à tous,
ça doit faire 2 jours que je cherche et je ne trouve aucun topic avec mon problème alors je me decide à ouvrir le mien.
Ce que je veux faire: ouvrir un fichier en .csv le modifier et le réenregister en .csv. Du coup j'utilise l'instruction save as avec les paramètres nécessaires(j'ai déjà essayer conflict resolution mais ça n'a rien changé) j'accepte de remplacer l'autre fichier etc... La macro s'effectue correctement.
Pourtant quand j'ouvre le fichier csv par la suite il n'a pas enregistré mes modifications. Je précise que lorsque j'enregistre ce fichier dans un autre fichier je n'ai pas de problème. Je pense que je peux toujours bidouillé mais honnêtement je ne comprends pas pourquoi ça ne fonctionne pas.
Merci d'avance de votre aide !
Je mets l'ensemble de la partie concernée mais l'enregistrement se trouve à la fin
Code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| Dim fldr As FileDialog
Dim GetFolder, sItem, Toolname As String
Dim Recipenumber, Line As Integer
MsgBox ("Select the Folder containing the Machine's documents")
Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
With fldr
.Title = "Select the Folder"
.AllowMultiSelect = False
If .Show <> -1 Then GoTo NextCode
sItem = .SelectedItems(1)
End With
NextCode:
GetFolder = sItem
Set fldr = Nothing
If SourceFile.Sheets(3).Range("F17") = "Left" Then
Set TargetFileMop = Application.Workbooks.Open(GetFolder & "\PROJECTS\VCELL_NG_2015_06_01\DATA\RECIPE\MOP_ST1.CSV", Local:=True)
Else
Set TargetFileMop = Application.Workbooks.Open(GetFolder & "\PROJECTS\VCELL_NG_2015_06_01\DATA\RECIPE\MOP_ST2.CSV", Local:=True)
End If
RecipeChoice:
Recipenumber = InputBox("Choose the recipe number", , 1)
Line = 6 + Recipenumber
Toolname = TargetFileMop.Sheets(1).Range("H" & Line).Value
If Toolname <> Recipenumber Then
If MsgBox("Recipe of the tool" & Toolname & "is already there and will be lost Do you want to continue?", vbYesNo) = vbNo Then
GoTo RecipeChoice
End If
End If
'Condition poutre gauche ou droite (pas le même nom de fichier)
If SourceFile.Sheets(3).Range("F17") = "Left" Then
SourceFile.Sheets("MOP_ST1").Range("E7:DH7").Copy
Else
SourceFile.Sheets("MOP_ST2").Range("E7:DH7").Copy
End If
TargetFileMop.Sheets(1).Range("E" & Line & ":DH" & Line).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
'Enregistrement du nouveau fichier
TargetFileMop.SaveAs Filename:=TargetFileMop.Name, FileFormat:=xlCSV, CreateBackup:=False, Local:=True
TargetFileMop.Close SaveChanges:=False
'Condition poutre gauche ou droite (pas le même nom de fichier)
If SourceFile.Sheets(3).Range("F17") = "Left" Then
Set TargetFileRecette = Application.Workbooks.Open(GetFolder & "\PROJECTS\VCELL_NG_2015_06_01\DATA\RECIPE\GROUPE_RECETTE_ST1.CSV", Local:=True)
SourceFile.Sheets("GROUPE_RECETTE_ST1").Range("D7:S7").Copy
Else
Set TargetFileRecette = Application.Workbooks.Open(GetFolder & "\PROJECTS\VCELL_NG_2015_06_01\DATA\RECIPE\GROUPE_RECETTE_ST2.CSV", Local:=True)
SourceFile.Sheets("GROUPE_RECETTE_ST2").Range("D7:S7").Copy
End If
TargetFileRecette.Sheets(1).Range("D" & Line & ":S" & Line).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
TargetFileRecette.Sheets(1).Range("E" & Line) = Recipenumber
TargetFileRecette.Sheets(1).Range("F" & Line) = Recipenumber
'Enregistrement du nouveau fichier
TargetFileRecette.SaveAs Filename:=TargetFileRecette.Name, FileFormat:=xlCSV, CreateBackup:=False, Local:=True
TargetFileRecette.Close SaveChanges:=False |