Bonjour,

je cherche à ouvrir un fichier txt sous Excel.
Si je procède ainsi, le fichier s'ouvre mais sans distinction de colonnes:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
vMSExcel = Variant::CreateObject("Excel.Application");
vMSExcel.OlePropertySet("Visible", true);
vFileName = "M:\\Docs\\Fic.txt";
vXLWorkbooks = vMSExcel.OlePropertyGet("Workbooks");
vXLWorkbook = vXLWorkbooks.OleFunction("Open", WideString(vFileName));
En effet, si j'ouvre mon fichier directement depuis Excel je dois préciser dans l'assistant que le type de données d'origine est de largeur fixe.

Par contre, si je fais:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
vXLWorkbook = vXLWorkbooks.OleFunction("OpenText", WideString(vFileName));
les données sont bien réparties dans chaque colonne.
Toutefois, quelle que soit la commande suivante, par exemple:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
vFileName = "M:\\Docs\\Fic.xls";
vXLWorkbook.OleProcedure("Save as", vFileName);
une erreur
EVariantTypeCastError 'Could not convert variant of type (boolean) into type (Dispatch)'
se produit.
Cela pourrait-il venir du format de vFileName ?
Je ne suis pas parvenu à trouver de réponse.

Merci pour votre aide.