Importation de données depuis un fichier fermé

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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 😀). 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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
503
Réponses
5
Affichages
496
Réponses
3
Affichages
522
Réponses
0
Affichages
379
Retour