Fichiers Excel inexploitables

Bonjour à tous,

je souhaite extraire des données de plusieurs fichiers excel...

J'ai réussi à trouver un code qui fait parfaitement le travail seulement il n'arrive pas à extraire les données des fichiers excel que je souhaite exploiter et je ne comprend pas pourquoi...

J'ai fait plusieurs test avec d'autres fichiers l'extraction se passe bien mais avec les fichiers ci-joint le code se lance sans bug cependant la copie ne se fait pas. j'ai même converti les fichiers ( je me disais en effet que c'est problème de compatibilité) "Fichier\convertir" dans excel; changer l'extension etc... rien n'y fait...

Vous trouverez donc en fichier joint les fichiers excel mis en cause dans leur version original (sans rien avoir changé si ce n'est le contenu - il s'agit en effet de relevé téléchargé) avec le fichier qui permet de faire l'extraction.

je vous remercie d'avance pour votre aide.

Public Sub getDataFromWbs()

OptimizeVBA True

Dim wb As Workbook, ws As Worksheet
Dim x As Long
Dim y As Long
Dim fso
Dim fldr
Dim wbFile
Dim wsLR

Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.GetFolder("C:\Users\D...\")

y = ThisWorkbook.Sheets("Feuil1").Cells(Rows.Count, 1).End(xlUp).Row + 1

For Each wbFile In fldr.Files

y = ThisWorkbook.Sheets("Feuil1").Cells(Rows.Count, 1).End(xlUp).Row + 1

    If fso.GetExtensionName(wbFile.Name) = "xls" Then

        Set wb = Workbooks.Open(wbFile.Path)

        For Each ws In wb.Sheets

            wsLR = ws.Cells(Rows.Count, 1).End(xlUp).Row

            For x = 3 To wsLR

                ThisWorkbook.Sheets("Feuil1").Cells(y, 2) = ws.Cells(x, 2)
                ThisWorkbook.Sheets("Feuil1").Cells(y, 3) = ws.Cells(x, 3)
                ThisWorkbook.Sheets("Feuil1").Cells(y, 4) = ws.Cells(x, 4)
                ThisWorkbook.Sheets("Feuil1").Cells(y, 5) = ws.Cells(x, 5)
                ThisWorkbook.Sheets("Feuil1").Cells(y, 6) = ws.Cells(x, 6)
                ThisWorkbook.Sheets("Feuil1").Cells(y, 7) = ws.Cells(x, 7)
                y = y + 1

            Next x

        Next ws

        wb.Close

    End If

Next wbFile

OptimizeVBA False

End Sub
9extraction.xlsm (20.39 Ko)
9test1.zip (8.41 Ko)
6test2.zip (6.83 Ko)
4test3.zip (7.05 Ko)

Bonjour,

Dans les classeurs TESTx, les données débutent en colonne B.

La recherche de la dernière ligne renseignée :

wsLR = ws.Cells(Rows.Count, 1).End(xlUp).Row

s'effectue sur la colonne 1 (donc A) et forcément retournera 1

For x = 3 To wsLR

wsLR étant égal à 1, et qu'on a pas précisé de step négatif, il n'y a pas d'erreur mais la boucle n'est pas exécutée.

En faisant la recherche de dernière ligne sur colonne B (2), ça fonctionne.

Est ce que ce sera compatible avec d'autres fichiers ?

A+

Bonsoir AlgoPlus,

Merci infiniment ça m'a complètement échappé. j'étais tellement convaincu que le problème venait du fichier que je n'ai pas prêté attention au code.

Oui il est compatible avec d'autres fichiers Excel.

Merci encore.

Rechercher des sujets similaires à "fichiers inexploitables"