Importation de données depuis un fichier fermé

Sly le globe trotter

XLDnaute Occasionnel
Bonjour à tous,

Depuis un fichier de synthèse, je souhaite récupérer des données dans différents fichiers sources. J'ai pour cela créer la macro ci-dessous
Code:
Sub ExploitationFichiersSources()

Dim j As Integer
Dim appExcel As New Excel.Application
Dim wbSource As Excel.Workbook
Dim FeuilleSource, FeuilleSynthèse As Excel.Worksheet
Dim wbSynthèse As Excel.Workbook

Dim PathFichierSource As String
Dim derniereLigneFichierSynthèse, derniereLigneFichierSource, k As Integer

..........

'Exploitation des fichiers sources
Set FeuilleSynthèse = ActiveWorkbook.Worksheets("Données brutes")

For j = 0 To NbSsDossier
    Set FeuilleSource = appExcel.Workbooks.Open("D:\toto.csv").Worksheets(1)
    
    derniereLigneFichierSynthèse = FeuilleSynthèse.Range("A" & Rows.Count).End(xlUp).Row
    derniereLigneFichierSource = FeuilleSource.Range("A" & Rows.Count).End(xlUp).Row
    
    For k = 5 To derniereLigneFichierSource
        derniereLigneFichierSynthèse = derniereLigneFichierSynthèse + 1

        FeuilleSynthèse.Cells(derniereLigneFichierSynthèse, 1).Value = FeuilleSource.cells(2, 12).Value
        FeuilleSynthèse.Cells(derniereLigneFichierSynthèse, 2).Value = FeuilleSource.Cells(2, 3).Value
        FeuilleSynthèse.Cells(derniereLigneFichierSynthèse, 3).Value = FeuilleSource.Cells(2, 11).Value
        FeuilleSynthèse.Cells(derniereLigneFichierSynthèse, 4).Value = FeuilleSource.Cells(k, 21).Value
        FeuilleSynthèse.Cells(derniereLigneFichierSynthèse, 5).Value = FeuilleSource.Cells(k, 23).Value
    Next k
    
    FeuilleSource.Close
    FeuilleSource.Parent.Close
    Set FeuilleSource = Nothing
    Set appExcel = Nothing
    appExcel.Quit
Next j

Set FeuilleSynthèse = Nothing

End Sub

Je parviens bien à identifier les dernières lignes de mon fichier source et de mon fichier de synthèse. En revanche, les commandes
Code:
FeuilleSynthèse.Cells(derniereLigneFichierSynthèse, 1).Value = FeuilleSource.Cells(2, 12).Value
ne ramène rien, les plages étant pourtant non vides dans mes fichiers sources...
J'ai essayé en remplaçant
Code:
FeuilleSource.Cells(2, 12).Value
par
Code:
FeuilleSource.range("L12").Value
mais pareil, rien... En revanche, en faisant
Code:
FeuilleSynthèse.Cells(derniereLigneFichierSynthèse, 1).Value = "Test"
je parviens bien à écrire dans mon fichier de synthèse...

Auriez-vous une idée svp pour récupérer les infos de mes fichiers sources ?

Merci pour votre aide et bonne journée,
Sylvain
 

Sly le globe trotter

XLDnaute Occasionnel
Re : Importation de données depuis un fichier fermé

Bonjour Frederic,

Je crois avoir trouvé d'où cela provient...

Mon fichier csv est formaté en csv (normal me direz-vous :D). Sauf que lorsque je l'ouvre sous Excel, visuellement, il est au format Excel ! Je cherchais donc à récupérer des éléments présents dans ma feuille Excel alors qu'ils étaient en fait dans la première colonne...

En travaillant sur les données de ma première colonne, je parviens, en séparant la chaine de caractère avec le ";", à récupérer les différents "champs" qui m'intéressent !

Bon week-end,
Sylvain
 

Discussions similaires

Réponses
0
Affichages
148

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin