Problème import fichier à cause du format de celui-ci

Bonjour à toutes et tous,

Je viens vers vous car j'ai un problème d'import comme indiqué dans le titre d'un fichier suite à son format. Effectivement le fichier que j'extrait est au format .xls hors lorsque je lance ma macro celle-ci bloque sur la ligne ci-dessous. Et c'est là ou j'ai besoin de vous lorsque j'enregistre le fichier au format .xlsx je n'ai plus d'erreur.

NbLignes = FeuilleCosium.Cells(Rows.Count, 7).End(xlUp).Row

Vous me direz alors d'enregistrer mon fichier au format .xlsx mais j'ai plus de 100 fichiers à télécharger au format .xls puis les repasser au format .xlsx, une tâche bien trop longue.

Pourriez-vous m'aider à solutionner ce problème pour que le format .xls fonctionne correctement ?

J'en profite également, pour vous demander s'il était possible de mettre le nom du fichier importé en nom d'onglet sans l'extension du fichier ? (avoir OPAAA - 2024_03 au lieu de OPAAA - 2024_03.xls)

Vous trouverez ci-joint les fichiers et je vous dis merci d'avance si vous m'aidez sur ce sujet.

0opaaa-2024-03.xlsx (38.34 Ko)
2opaaa-2024-03.zip (27.12 Ko)

Bonjour

...Lorsque je lance ma macro celle-ci bloque sur la ligne ci-dessous. Et c'est là ou j'ai besoin de vous lorsque j'enregistre le fichier au format .xlsx je n'ai plus d'erreur.

Remplacez votre ligne Nblignes.... par celle ci-dessous

NbLignes = FeuilleCosium.Cells(FeuilleCosium.Rows.Count, 7).End(xlUp).Row

Si ok et terminé pensez à

Cordialement

Bonjour Dan,

Merci beaucoup pour votre aide précieuse.

Mon problème était vraiment lié au format du fichier ou était-ce une erreur de codage de mon côté ?

J'en profite également pour vous demander quelles sont les modifications à faire si je veux importer plusieurs fichiers d'un coup et que chaque fichier importé crée un onglet. Avec le code que j'ai fait une bouche "Wich" ou "For each" peut-elle permettre ceci ?

Encore merci

Bonjour

Mon problème était vraiment lié au format du fichier ou était-ce une erreur de codage de mon côté ?

C'était une erreur de votre coté, vous aviez omis de mettre la variable Feuillecosim devant l'instruction Rows.count

si je veux importer plusieurs fichiers d'un coup et que chaque fichier importé crée un ongle

Soit vous faites le même code pour chacun des fichiers, soit vous créez une boucle
Le point principal serait d'abord de savoir :
1. si tout vos fichiers à ouvrir sont dans le même répertoire et que ce dernier ne contient bien que ceux à ouvrir (donc non mélangés à d'autres ne faisant pas partie de l'importation
2. si ces fichiers se trouvent dans le même répertoire que le fichier qui importe les feuilles (donc le fichier contenant le code)

Crdlt

Merci encore Dan,

Concernant l'importation des fichiers ceux-ci sont tous dans le même répertoire mais il est possible que des fichiers hors importation soient présents. Le fichier que j'ai joint avec la macro sera à la racine des dossiers donc il ne sera pas dans le même répertoire que les fichiers importés.

Cordialement,

C'est bon Dan,

J'ai trouvé ma solution, j'ai fait une boucle "For" à la place de mon "If"

For Fichier = 1 to .SelectedItems.Count

Encore merci pour le temps passé sur mon problème et les réponses à mes questions.

Cordialement,

Rechercher des sujets similaires à "probleme import fichier cause format celui"