Bonjour à tous !

Je vous vois déjà me dire que ce sujet à été traité à plusieurs reprise mais j'ai écumé plusieurs discussion et même plusieurs forum sans succès...

Je commence à utiliser le VBScript pour manipuler une quantité certaine de fichiers au format xlsx (2300) et les enregistrer au format CSV(séparateur point-virgule), après 2 semaines à me casser la tête à comprendre les différence entre le VBA, le VB et le VBS (merci au tutos du site d'ailleurs), j'ai réussi à assembler des bouts de code pour faire ce que j'avait envie.

Le script fonctionne enfin, mais les fichiers que j'obtiens ne sont pas séparés par les bon séparateurs, et je ne sais pas pour quelle raison, ils s'enregistrent dans mes documents (alors qu'avant ils s'enregistraient dans le dossier Temp)

Voici le code que j'utilise :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Dim Systeme, Dossier, Fichiers, Fichier, Nom_Dossier, Nom_Fichier
 
Nom_Dossier = "C:\Users\Philippe\Desktop\Temp\Test"
 
Set Systeme = CreateObject("Scripting.FileSystemObject")
Set Dossier = Systeme.GetFolder(Nom_Dossier)
Set Fichiers = Dossier.Files
 
Dim xlWb, i, j: i=1: j=Fichiers.Count
 
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
xlApp.DisplayAlerts = False
 
For each Fichier In Fichiers
	If i<=j-2 Then 
'Le -2 s'explique par une différence que me done le "Fichiers.Count" et le nombre réel de fichier dans mon dossier. J'ai fais cette boucle parce que le script essayait d'ouvrir les fichier "caché" qui accompagne l'ouverture d'un fichier dans Microsoft Office...
		If StrComp(Systeme.GetExtensionName(Fichier.Name), "xlsx", vbTextCompare) = 0 Then
    		Nom_Fichier = Nom_Dossier & "\" & Fichier.Name
		Set xlWb = xlApp.Workbooks.Open (Nom_Fichier)
		xlApp.ActiveWorkbook.SaveAs,6,Local=True
		xlApp.ActiveWorkbook.Close savechanges=False
		i=i+1
		End If
	End If
Next
 
xlApp.DisplayAlerts = True 
xlApp.Quit
 
Set xlWb = Nothing
Set xlApp = Nothing
J'ai donc essayé :
- Le paramètre "local=True" qui ne change rien, j'ai vérifié mes paramètres régionaux
- Les différents format de sauvegarde (valeur 6, 22, 23, 24) (D'ailleurs, quand j'écris "xlCSV" cela ne fonctionne pas, il faut absolument mettre la valeur numérique)
- J'ai bien essayé de ne pas enregistrer les modifications sur le néo-fichier csv avec le "savechanges=false"
- J'ai également remarqué des problèmes de fichiers qui sont en lecture seule après que le script ai fonctionné. Je n'ai pas encore creusé de ce côté là excepté de vérifier avant l'ouverture de mes fichiers, qu'il étaient bien tous non limité en écriture...

Je désespère un peu, il me manque un gros background, j'en suis conscient... Mais je suis un peu pressé par le temps, j'ai eu la flemme de faire les 2300 fichier à la main, mais finalement ça m'aurait peut-être pris moins de temps...

Merci d'avance pour l'aide et vos réponses !!