Bonjour,
J'ai au point une macro qui permet remplir une feuille en fonction de certaines valeurs et paramètres dans une autre feuille. Elle fonctionne mais la manière dont elle est rédigée disons n'est pas très efficace (^_^)' . En effet si j'ai disons des centaines de données à traiter je sens que ça se transformera en un programme interminable. Pouvez-vous m'aider à le rendre plus compact (optimiser) ? J'ai essayé de passer par des tableaux ou par la fonction "With" mais je me perds entre temps ou alors le programme ne fonctionne plus.
Je vous mets en annexe le code du programme en question.
PS: Le programme fonctionne, il fait le travail mais je souhaite l'optimiser car il ne fait pas très "normalisé"
Merci d'avance pour votre aide.

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Sub PourOptimiser()
    'BIA
    Worksheets("Sortie").Range("B2:K4").Value = 9999
    ligne = 2
    For i = 1 To 2
        For j = 1 To 4
            Worksheets("D - BI").Range("X33").Value = i
            Worksheets("D - BI").Range("X34").Value = j
            If _
            Worksheets("D - BI").Range("Y33").Value >= -0.5 And _
            Worksheets("D - BI").Range("Y33").Value <= 0.5 And _
            Worksheets("D - BI").Range("Y34").Value >= -1# And _
            Worksheets("D - BI").Range("Y34").Value <= 1# _
            Then
                'On ne fait rien
            Else
                'BK
                If Worksheets("Resume").Range("E65").Value < Worksheets("Sortie").Cells(ligne, 2).Value Then
                    Worksheets("Sortie").Cells(ligne, 2).Value = Worksheets("Resume").Range("E65").Value
                    Worksheets("Sortie").Cells(ligne, 3).Value = Worksheets("Resume").Range("F65").Value
                    Worksheets("Sortie").Cells(ligne, 4).Value = i
                    Worksheets("Sortie").Cells(ligne, 5).Value = j
                    Worksheets("Sortie").Cells(ligne, 6).Value = Worksheets("T_C").Range("D22").Value
                    Worksheets("Sortie").Cells(ligne, 7).Value = Worksheets("T_C").Range("E22").Value
                    Worksheets("Sortie").Cells(ligne, 8).Value = Worksheets("T_C").Range("F22").Value
                    Worksheets("Sortie").Cells(ligne, 9).Value = Worksheets("T_C").Range("G22").Value
                    Worksheets("Sortie").Cells(ligne, 10).Value = Worksheets("T_C").Range("H22").Value
                    Worksheets("Sortie").Cells(ligne, 11).Value = Worksheets("T_C").Range("I22").Value
                    Worksheets("Sortie").Cells(ligne, 12).Value = Worksheets("BIA - S").Range("B42").Value
                    Worksheets("Sortie").Cells(ligne, 13).Value = Worksheets("BIA - S").Range("B44").Value
                    Worksheets("Sortie").Cells(ligne, 14).Value = Worksheets("BIA - S").Range("B43").Value
                    Worksheets("Sortie").Cells(ligne, 15).Value = Worksheets("BIA - S").Range("C42").Value
                    Worksheets("Sortie").Cells(ligne, 16).Value = Worksheets("BIA - S").Range("C44").Value
                    Worksheets("Sortie").Cells(ligne, 17).Value = Worksheets("BIA - S").Range("C43").Value
                End If
                'BL
                If Worksheets("Resume").Range("E66").Value < Worksheets("Sortie").Cells(ligne + 1, 2).Value Then
                    Worksheets("Sortie").Cells(ligne + 1, 2).Value = Worksheets("Resume").Range("E66").Value
                    Worksheets("Sortie").Cells(ligne + 1, 3).Value = Worksheets("Resume").Range("F66").Value
                    Worksheets("Sortie").Cells(ligne + 1, 4).Value = i
                    Worksheets("Sortie").Cells(ligne + 1, 5).Value = j
                    Worksheets("Sortie").Cells(ligne + 1, 6).Value = Worksheets("T_C").Range("D23").Value
                    Worksheets("Sortie").Cells(ligne + 1, 7).Value = Worksheets("T_C").Range("E23").Value
                    Worksheets("Sortie").Cells(ligne + 1, 8).Value = Worksheets("T_C").Range("F23").Value
                    Worksheets("Sortie").Cells(ligne + 1, 9).Value = Worksheets("T_C").Range("G23").Value
                    Worksheets("Sortie").Cells(ligne + 1, 10).Value = Worksheets("T_C").Range("H23").Value
                    Worksheets("Sortie").Cells(ligne + 1, 11).Value = Worksheets("T_C").Range("I23").Value
                    Worksheets("Sortie").Cells(ligne + 1, 12).Value = Worksheets("BIA - S").Range("D42").Value
                    Worksheets("Sortie").Cells(ligne + 1, 13).Value = Worksheets("BIA - S").Range("D44").Value
                    Worksheets("Sortie").Cells(ligne + 1, 14).Value = Worksheets("BIA - S").Range("D43").Value
                    Worksheets("Sortie").Cells(ligne + 1, 15).Value = Worksheets("BIA - S").Range("E42").Value
                    Worksheets("Sortie").Cells(ligne + 1, 16).Value = Worksheets("BIA - S").Range("E44").Value
                    Worksheets("Sortie").Cells(ligne + 1, 17).Value = Worksheets("BIA - S").Range("E43").Value
                End If
                'BM
                If Worksheets("Resume").Range("E67").Value < Worksheets("Sortie").Cells(ligne + 2, 2).Value Then
                    Worksheets("Sortie").Cells(ligne + 2, 2).Value = Worksheets("Resume").Range("E67").Value
                    Worksheets("Sortie").Cells(ligne + 2, 3).Value = Worksheets("Resume").Range("F67").Value
                    Worksheets("Sortie").Cells(ligne + 2, 4).Value = i
                    Worksheets("Sortie").Cells(ligne + 2, 5).Value = j
                    Worksheets("Sortie").Cells(ligne + 2, 6).Value = Worksheets("T_C").Range("D24").Value
                    Worksheets("Sortie").Cells(ligne + 2, 7).Value = Worksheets("T_C").Range("E24").Value
                    Worksheets("Sortie").Cells(ligne + 2, 8).Value = Worksheets("T_C").Range("F24").Value
                    Worksheets("Sortie").Cells(ligne + 2, 9).Value = Worksheets("T_C").Range("G24").Value
                    Worksheets("Sortie").Cells(ligne + 2, 10).Value = Worksheets("T_C").Range("H24").Value
                    Worksheets("Sortie").Cells(ligne + 2, 11).Value = Worksheets("T_C").Range("I24").Value
                    Worksheets("Sortie").Cells(ligne + 2, 12).Value = Worksheets("BIA - S").Range("F42").Value
                    Worksheets("Sortie").Cells(ligne + 2, 13).Value = Worksheets("BIA - S").Range("F44").Value
                    Worksheets("Sortie").Cells(ligne + 2, 14).Value = Worksheets("BIA - S").Range("F43").Value
                    Worksheets("Sortie").Cells(ligne + 2, 15).Value = Worksheets("BIA - S").Range("G42").Value
                    Worksheets("Sortie").Cells(ligne + 2, 16).Value = Worksheets("BIA - S").Range("G44").Value
                    Worksheets("Sortie").Cells(ligne + 2, 17).Value = Worksheets("BIA - S").Range("G43").Value
                End If
            End If
        Next
    Next
 
End Sub