Bonjour,

J'ai un petit soucis de temps sur une boucle qui marche très bien mais nécessite beaucoup de patience. J'ai cru comprendre que les modules de classes m'aideraient pour ça mais après lu et relu la doc il faut avouer que c'est assez obscure pour moi.
Si quelqu'un a une bonne idée, je serais reconnaissant.

Merci d'avance
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
 
    If Feuil2.Range("I8") = "ACIER" Or Feuil2.Range("I8") = "ALU" Then
        Col = "G" 'Colonne G de l'onglet source pour Acier Alu
        NbLar = 8
        Nb_Ouv = 24500
        Nb_Ress = 122500
        Nb_Cumul = 147000
    Else
        Col = "H" 'Colonne H de l'onglet source pour le ZCI
        NbLar = 7
        Nb_Ouv = 21000
        Nb_Ress = 105000
        Nb_Cumul = 126000
    End If
    Lign = 7
    LinCol = 13
    Feuil2.Range("A" & Lign & ":T" & Lign + 5).Select
    Selection.Copy
    For NbLar = NbLar To 2 Step -1
        DevLar = Sheets("Source Produit").Range(Col & NbLar).Value
        For NbLong = 2 To 15
            DevLon = Sheets("Source Produit").Range("I" & NbLong).Value  'Feuil2.Range("A7:G7").Select
            For NbPli = 1 To 10
                For Mol = 0 To 4
                    For Enc = 0 To 4
                        Feuil2.Range("A" & LinCol).PasteSpecial (xlPasteAll)
                        Feuil2.Range("C" & LinCol).Value = NbPli
                        Feuil2.Range("D" & LinCol).Value = DevLar
                        Feuil2.Range("E" & LinCol).Value = DevLon
                        Feuil2.Range("F" & LinCol).Value = Mol
                        Feuil2.Range("G" & LinCol).Value = Enc
                        LinCol = LinCol + 6
                        Lign = Lign + 6
                    Next Enc
                Next Mol
            Next NbPli
        Next NbLong
    Next NbLar
    Application.CutCopyMode = False