VBA extraction multiple xls

Bonjour,

J'ai une macro qui me permet d'extraire les données de fichiers excel au format xls. Malheureusement, elle ne fonctionne pas avec les fichiers xlsxl. J'avais une autre macro qui transformé les xlsxl en xls mais elle ne fontionne plus.

Du coup, quelqu'un saurait s'il est possible de modifier la macro pour la rendre compatible avec les fichiers xlsxl ? J'ai essayé de changer le format du fichier et de modifier la macro mais sans succès.

Une idée ?

Merci de votre aide.

Bonjour

Dans votre code Sub Extraction2(), vous pouvez déjà changer cette ligne :

xFichier = Dir("*.xls")

par

xFichier = Dir("*.xlsx")

Cordialement

Bonjour,

Merci bcp !

Petite question complémentaire : quand j'essai de lancer la macro sur un fichier xlsx, j'ai un retour d'erreur m'indiquant qu'il n'y a pas de feuille (onglet) "Feuil1" dansd le fichier à extraire. Or celui-ci est bien présent (fichier en pj). Une idée ?

Merci pour votre temps.

Sophie.

20devis.xlsx (10.66 Ko)

Re

quand j'essai de lancer la macro sur un fichier xlsx,

Il n'y a rien dans votre fichier au niveau données, macro ...

Pour comprendre mettez votre fichier en ligne ( sans données confidentielles), je pourrai analyser

Cordialement

Bonjour,

En fait, ce sont uniquement les données de colonne G qui sont à extraire dans le fichier devis.xlsx

Merci à vous.

19devis.xlsx (10.66 Ko)

Re

Un premier point : Votre fichier contenant la macro est enregistré au format XLS. La variable xfichier reste vide car un fichier XLS ne sait pas lire un fichier XLSX.

Ensuite dans le code Lirefichierfermé, activer la ligne en dessous de "Après excel 2007

Enregistrez votre fichier VBA Extraction multiple au format XLSM puis refaite un test

Cordialement

Re

Merci pour le retour

Après modification, j'ai le même message d'erreur.

Par contre, je ne sais pas utiliser la fonction IMEX présente dans le fichier.

Re

Après modification, j'ai le même message d'erreur.

Vous avez peut être un mix de fichier xls et xlsx.

Juste en dessous de la ligne --> Set Source = CreateObject("ADODB.Connection"), mettez cette instruction

On Error Resume Next

Pour l'IMEX, en mettant comme ceci cela fonctionne non ?

Source.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & xChemin & "\" & xFichier & ";Extended Properties=""Excel 12.0;HDR=NO;IMEX=0"";"";"

Cordialement

Bonjour,

C'est tout bon !

Merci beaucoup pour le temps passé.

Je joins le fichier si cela peut servir à qqun.

Merci encore Dan.

Sophie.

Rechercher des sujets similaires à "vba extraction multiple xls"