Bonjour,

J'aurais voulu copier-coller les informations d'un fichier journalier dans un fichier de référencement global (c'est à dire que ce que je copie dans le fichier quotidien se mette en dessous de ce que j'avais déjà).


Je sais que mon code peut s'avérer compliqué (et pas forcément optimal d'ailleurs...), mais je bloque juste sur le copier-coller (ligne en rouge). A chaque fois que je le lance, je reçois le message "erreur définie par l'application ou par l'objet".
Si j'ai mis tout ce code, c'est dans l'espoir que quelqu'un verrait où il y a un problème. Je ne comprends vraiment pas. D'autant que le reste du code pourra toujours servir à quelqu'un plus tard.


Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Sub récupération_quotidien()
Dim j As Date
Dim LastDate As Date

'Récupération de la dernière date des fichiers (les fichiers sont triés par date du plus ancien au plus récent)
Worksheets("Général").Activate
NbLigneGénéralavant = Range(Cells(4, 2), Cells(4, 2).End(xlDown)).Rows.Count
LastDate = Cells(NbLigneGénéralavant + 3, 6)

'Pour chacune de ces dates (jusqu'à aujourd'hui):
For j = LastDate To Date
    'conversion j en bon format
    année = Mid(j, 9, 2)
    mois = Mid(j, 4, 2)
    jour = Mid(j, 1, 2)
    Dates = Format(DateSerial(année, mois, jour), "ddmmyy")
    
    'Sur les jours qui comportent des relevés :
    If Dir("chemin_d'accès\Exportquotidien" & Dates & ".xls") <> "" Then
        ' ouverture du quotidien et récupération du nombre de lignes
        Workbooks.Open Filename:="chemin_d'accès\Exportquotidien" & Format(Dates, "000000") & ".xls"
        nbLignequotidien = Range(Cells(2, 2), Cells(2, 2).End(xlDown)).Rows.Count
        
        ' recopiage
        Workbooks("Exportquotidien" & Format(Dates, "000000") & ".xls").Sheets(1).Range(Cells(2, 1), Cells(nbLignequotidien + 1, 25)).Copy Workbooks("Classeur1.xlsm").Worksheets("Général").Cells(NbLigneGénéralavant + 3, 1)


        're-récupération du nombre de lignes du congloméré
        NbLigneRelevé = Range(Cells(2, 2), Cells(2, 2).End(xlDown)).Rows.Count

        ' fermeture du quotidien
        Workbooks("Exportquotidien" & Dates & ".xls").Close False

    End If
Next j

End Sub

Quelqu'un saurait-il m'aider ?

Novice_vba