Bonjour,
j'ai un petit soucis avec mon code et je n'arrive pas à comprendre pourquoi ca plante,
j'ai des fichiers csv en masse qui ne prennent pas en compte les caractères spéciaux,
du coup je change l'encodage de ces derniers avec ce code :
et je l'appelle comme ceci :
La variable "Fichier" contient le nom de chaque .csv que je veux convertir,
Le problème ici c'est qu'en utilisant la variable Fichier la macro n'arrive pas à ouvrir le fichier et j'ai l'erreur "3002"
alors que quand je vais écrire le nom d'un fichier csv sans passer par une variable la ca marche niquel..
La variable "Fichier" est un String.
Merci d'avance
j'ai un petit soucis avec mon code et je n'arrive pas à comprendre pourquoi ca plante,
j'ai des fichiers csv en masse qui ne prennent pas en compte les caractères spéciaux,
du coup je change l'encodage de ces derniers avec ce code :
VB:
Sub Encode(sPath As String, Optional SetChar$ = "UTF-8")
With CreateObject("ADODB.Stream")
'MsgBox sPath
.Open
.LoadFromFile sPath 'Loads a File
.Charset = SetChar 'sets stream encoding (UTF-8)
.SaveToFile sPath, 2 'adSaveCreateOverWrite
.Close
End With
End Sub
et je l'appelle comme ceci :
VB:
Encode "C:\Users\Dy\OneDrive\Extraction\" & Format(Date, "dd.mm.yy") & "\" & fichier, "UTF-8"
La variable "Fichier" contient le nom de chaque .csv que je veux convertir,
Le problème ici c'est qu'en utilisant la variable Fichier la macro n'arrive pas à ouvrir le fichier et j'ai l'erreur "3002"
alors que quand je vais écrire le nom d'un fichier csv sans passer par une variable la ca marche niquel..
VB:
Encode "C:\Users\Dy\OneDrive\Extraction\" & Format(Date, "dd.mm.yy") & "\Reference,Descriptions,Assets3011797320001.csv", "UTF-8"
La variable "Fichier" est un String.
Merci d'avance