J'ai créé un fichier qui génère un deuxième fichier en ".csv". Ce fichier csv est composé de ligne concernant des pièces à rebuter. Je constate que mes cotations (longueur, largeur, et épaisseur) en colonne B,C,D s'enregistre avec un séparateur "." au lieu de "," pour séparer les nombres entiers des décimales. Lorsque je génère ce fichier csv dans ma programmation, mon logiciel ne reconnait pas ces données et me met un message d'erreur.
Savez-vous comment je pourrait faire pour remplacer les points par des virgules pour les colonne B,C et D ?
Voici mon code :
'Constitution du fichier CSV
'¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
If WshCSV2 Is Nothing Then
'La 1ère fois on crée la feuille
WshCSV.Copy 'Copie la feuille CSV dans un nouveau classe
Set WshCSV2 = ActiveSheet
WshCSV2.Name = "REBUS_SEAVY11" & "_" & Format(Day(Date), "00") & "-" & Format(Month(Date), "00") & "_" & Format(Time, "hhmmss")
LgnCSV = 1
End If
'Remplissage de la ligne LgnCSV
'¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
LgnCSV = LgnCSV + 1
WshCSV2.Range("A" & LgnCSV) = cel.Offset(0, -11) 'Design
WshCSV2.Range("B" & LgnCSV) = cel.Offset(0, -7) 'long
WshCSV2.Range("C" & LgnCSV) = cel.Offset(0, -6) 'larg
WshCSV2.Range("D" & LgnCSV) = cel.Offset(0, -8) 'ep
WshCSV2.Range("E" & LgnCSV) = cel.Offset(0, -9) 'matière
WshCSV2.Range("F" & LgnCSV) = cel.Offset(0, 5) 'sdf
WshCSV2.Range("G" & LgnCSV) = cel.Offset(0, -4) 'commentaire
WshCSV2.Range("H" & LgnCSV) = cel.Offset(0, 6) 'chant1
WshCSV2.Range("I" & LgnCSV) = cel.Offset(0, 7) 'Chant2
WshCSV2.Range("J" & LgnCSV) = cel.Offset(0, 8) 'Chant3
WshCSV2.Range("K" & LgnCSV) = cel.Offset(0, 9) 'chant4
WshCSV2.Range("L" & LgnCSV) = cel.Offset(0, -12) 'Meuble
WshCSV2.Range("M" & LgnCSV) = cel.Offset(0, 10) 'repère
WshCSV2.Range("N" & LgnCSV) = cel.Offset(0, 4) 'Option
WshCSV2.Range("O" & LgnCSV) = cel.Offset(0, -15) 'modèle bateau
WshCSV2.Range("P" & LgnCSV) = cel.Offset(0, -16) 'num bateau
WshCSV2.Range("Q" & LgnCSV) = cel.Offset(0, -10) 'Qté
WshCSV2.Range("R" & LgnCSV) = cel.Offset(0, 11) 'Nom_Ensemble
WshCSV2.Range("S" & LgnCSV) = cel.Offset(0, 12) 'Chemin
'¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
End If
End Select
'ref = ""
Next cel
.Range("T_BDD").Sort Key1:=.Range("T_BDD[Date]"), Header:=xlYes, Order1:=xlAscending 'tri pour remettre BDD par date
End With
'Sauvegarde du fichier CSV s'il existe
If Not WshCSV2 Is Nothing Then
WshCSV2.SaveAs Chemin & "\" & WshCSV2.Name & ".csv", xlCSV, local:=True
Workbooks(WshCSV2.Name & ".csv").Close
MsgBox "CSV enregistré avec le fichier \RELANCE - REBUS"
Else
MsgBox "Aucun fichier CSV enregistré"
End If
Application.ScreenUpdating = True
End Sub
Merci à ceux qui prenne le temps de me répondre :)
Mon CSV s'enregistre toujours avec des points, ça ne fonctionne pas
re,
et remplacer :
par :
?
Toujours pas... Je sais pas si ça peut changer quelque chose (je ne pense pas) mais j'ai confondu dans la présentation le point et la virgule.
Le fichier me génère des virgules dans mon CSV alors que mon logiciel de programmation veut des points.
J'ai essayé avec vos codes en inversant le point et la virgule mais ça ne change rien.
Cordialement
chez moi les modifications du séparateur décimal fonctionnent correctement
est ce que tu peux envoyer un fichier exemple (sans données confidentielles) via cjoint?
Bonjour,
Comment faire pour partager un fichier sur ccm ?