Bonjour,

Habituellement je me débrouille tout seul mais là je sais que je ne suis plus loin mais la syntaxe me manque.

J'ai travaillé sur un p'tit bout de code, qui me permet de reformater et merger 2 fichiers CSV via une clé commune.

J'ai commencé ça sur vba et cela fonctionne très bien puis je l'ai porté vers vbs pour une utilisation plus générale.
Et là, c'est le drame ... pleins de petit problème que j'ai pu corriger un a un mais il en reste un et pas le moindre.

Explication:

J'ai 2 fichiers avec comme séparateur ;

Le Fichier 1 (poste.csv) contient les entêtes suivants:
numero;nom;prénom;type de poste;nom entité
11111;toto;alain;PC;IT
11112;tata;jean;PC;Local

Le Fichier 2 (tscip.txt) contient les entêtes suivants:
Usagers;No annuaire;Type de poste;IP;MAC;Droit
11111;11111;PC;10.10.10.22;00:01:02:03:04:05;Oui
11112;11112;PC;10.10.10.21;00:05:04:03:02:01;

Je voudrais créer un fichier fusionner avec les entêtes suivants:
numéro;nom;prénom;type de poste;nom entité;IP;MAC;Droit
11111;toto;alain;PC;IT;10.10.10.22;00:01:02:03:04:05;Oui
11112;tata;jean;PC;Local;10.10.10.21;00:05:04:03:02:01;

Pour cela j'ai choisi d'utiliser ADODB.Recordset qui fait le boulot assez rapidement.
Comme je vous l'ai dit sur VBA aucun problème ça roule par contre même en adaptant la requête j'ai toujours des erreurs.

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
 
 
	FichierCSV = "postes.csv"
	FichierTXT = "TSCIP.txt"
 
        'Creation de la connection et de l'objet recordset
	Set objConnection = CreateObject("ADODB.Connection")
	Set objRecordset = CreateObject("ADODB.Recordset")
 
	'Declaration de la connection a la base de donnees
	objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                   "Data Source=" & strFilePath & ";" & _
                   "Extended Properties=""text;HDR=No;FMT=CSVDelimited"";"
 
	objRecordset.Open "SELECT * FROM [" & FileNameCSV & "] As Sample1, [" & FileNameTXT & "] As Sample2 Where Sample1.numero=Sample2.Usagers", _
                  objConnection, 3, 3, &H1
L'erreur au départ était ADODB.Connection: Provider cannot be found. It may not be properly installed. mais en utilisant C:\Windows\SysWOW64\cscript.exe,
maintenant j'ai Microsoft JET Database Engine: Syntax error in FROM clause.

Qu'en pensez vous ? Je sais que cela doit venir du délimiteur mais je ne vois pas comment formater celui-ci.

J'ai l'impression que le split n'est pas fait correctement et donc il ne trouve pas numero et Usagers.
Quand j’exécute pour tester SELECT * FROM " & FileNameCSV, le resultat de l'item(0) est numero;nom;prénom;type de poste;nom entité
Alors qu'il devrait être numero tout simplement.