Bonjour,

Je suis face à une erreur de capacité sur ma boucle dès que ma variable Y dépasse la ligne 255, je n'ai pas d'idée sur l'origine du problème .....
L'idée de la macro : dans le fichier excel principal, l'utilisateur rentre une date et lance la macro qui va comparer cette date avec le tableau de suivi et renvoyer à chaque correspondance des infos de la ligne dans le fichier principal.

Auriez-vous une solution miracle svp?
Merci

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
38
39
40
41
42
43
44
 
Sub recherchedinfos()
    Dim ExcelSuivi As Object, ExcelMacro As Object
    Dim tab_CopierColler(8)
    Dim C As String, D As String, E As String, F As String
    Dim Y As Range
    Dim k As Byte, l As Byte, m As Byte
 
    C = "\\Pmcfrsrv02\qualite\Autres\Gestion PV accus neufs et requalif" & "\Copie de 00 - Suivi PV.xls" 
    Set ExcelMacro = ActiveWorkbook
    D = ActiveSheet.Name 'prend le nom de la feuille excel avec le tableau de macro
    E = Range("B1").Value 'la date à rechercher dans le fichier de suivi
 
    ExcelMacro.Sheets("feuil1").Range("A4:I100").ClearContents 'efface le contenu du tableau pour macro
    Application.CutCopyMode = False 'vide le presse papier (stockage de précédente données copier) pour optimiser la macro
 
    Set ExcelSuivi = Workbooks.Open(C) 'ouvre le fichier de référence avec le suivi de PV
 
    k = 4
       For Each Y In ExcelSuivi.Sheets("destruction accus").Range("A2:A2000")
 
            If Y.Value = E Then
            l = Y.Row
                tab_CopierColler(0) = ExcelSuivi.Sheets("destruction accus").Range("B" & l)
                tab_CopierColler(1) = ExcelSuivi.Sheets("destruction accus").Range("J" & l)
                tab_CopierColler(2) = ExcelSuivi.Sheets("destruction accus").Range("C" & l)
                tab_CopierColler(3) = ExcelSuivi.Sheets("destruction accus").Range("D" & l)
                tab_CopierColler(4) = ExcelSuivi.Sheets("destruction accus").Range("E" & l)
                tab_CopierColler(5) = ExcelSuivi.Sheets("destruction accus").Range("F" & l)
                tab_CopierColler(6) = ExcelSuivi.Sheets("destruction accus").Range("G" & l)
                tab_CopierColler(7) = ExcelSuivi.Sheets("destruction accus").Range("H" & l)
                tab_CopierColler(8) = ExcelSuivi.Sheets("destruction accus").Range("I" & l)
 
                ExcelMacro.Sheets("feuil1").Activate
                For m = 0 To 8
                If m <> 5 Then Cells(k, m + 1) = tab_CopierColler(m) Else Cells(k, m + 1) = Format(tab_CopierColler(m), "yyyy")
                Next m
 
                k = k + 1
            End If
        Next Y
        ExcelSuivi.Close
        MsgBox ("fini")
End Sub