Re-bonjour à tous,


Je ne despère pas d'y arriver un jour sans votre aide.

J'ai crée ce code et je ne comprends pas pourquoi il ne tourne pas.

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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
 Sub CorrectionGP3V4()
 
'Définition des variables onglet "Correction Ophyr"
Dim VLRFCE As Range         'Valeur de référence onglet
Dim CDDEVI As Variant       'Valeur de la devise
Dim AGEMT As Variant        'Valeur de l'agent
Dim CDRES As Variant        'Valeur de la résidence
Dim CDZON As Variant        'Valeur de la zone
Dim NATIT As Variant        'Valeur de la nature du titre
Dim RESET As Variant        'Valeur de la résidence 2
Dim REZON As Variant        'Valeur de la zone 2
Dim TYMNT As Variant        'Valeur du type de montant
Dim MTDVLC As Variant       'Valeur du montant
 
Dim VLRFCE1 As Range         'Entête de référence onglet
Dim CDDEVI1 As Variant       'Entête de la devise
Dim AGEMT1 As Variant        'Entête de l'agent
Dim CDRES1 As Variant        'Entête de la résidence
Dim CDZON1 As Variant        'Entête de la zone
Dim NATIT1 As Variant        'Entête de la nature du titre
Dim RESET1 As Variant        'Entête de la résidence 2
Dim REZON1 As Variant        'Entête de la zone 2
Dim TYMNT1 As Variant        'Entête du type de montant
Dim MTDVLC1 As Variant       'Entête du montant
 
'Définition de la variable onglet "ESTD"
Dim VLRFCE2 As Range
 
'Définition du numéro de colonne onglet "ESTD"
Dim ColumNumber As Integer
 
'Définition des feuilles
Dim ShCO As Worksheet
Dim ShESTD As Worksheet
 
Set ShCO = Worksheets("Correction_Ophyr")
Set ShESTD = Worksheets("ESTD")
 
 
'Valeur recherchée
For Each VLRFCE In ShCO.Range("a8", ShCO.Range("a1048576").End(xlUp)).Cells
    'Entete de colonne
    VLRFCE1.Range = Range("a6")
    CDDEVI1 = VLRFCE1.Offset(0, 4).Value
    AGEMT1 = VLRFCE1.Offset(0, 6).Value
    CDRES1 = VLRFCE1.Offset(0, 7).Value
    CDZON1 = VLRFCE1.Offset(0, 8).Value
    NATIT1 = VLRFCE1.Offset(0, 9).Value
    RESET1 = VLRFCE1.Offset(0, 10).Value
    REZON1 = VLRFCE1.Offset(0, 11).Value
    TYMNT1 = VLRFCE1.Offset(0, 12).Value
    MTDVLC1 = VLRFCE1.Offset(0, 13).Value
 
    'Définition des valeurs
    CDDEVI = VLRFCE.Offset(0, 4).Value
    AGEMT = VLRFCE.Offset(0, 6).Value
    CDRES = VLRFCE.Offset(0, 7).Value
    CDZON = VLRFCE.Offset(0, 8).Value
    NATIT = VLRFCE.Offset(0, 9).Value
    RESET = VLRFCE.Offset(0, 10).Value
    REZON = VLRFCE.Offset(0, 11).Value
    TYMNT = VLRFCE.Offset(0, 12).Value
    MTDVLC = VLRFCE.Offset(0, 13).Value
 
 
    'Plage de recherche
    For Each VLRFCE2 In ShESTD.Range("E3", ShESTD.Range("e1048576").End(xlUp)).Cells
 
        'Condition sur la référence
        If VLRFCE2.Value = VLRFCE.Value Then
            ColumNumber = ShESTD.Range("E1:ED1").Find(TYMNT1).Column
            If VLRFCE2.EntireRow.Cells(TYMNT).Value = TYMNT.Value Then
 
                ColumNumber = ShESTD.Range("e1:ED1").Find(CDDEVI1).Column
                If VLRFCE2.EntireRow.Cells(CDDEVI).Value <> CDDEVI.Value Then
                    VLRFCE2.EntireRow.Cells(CDDEVI).Value = CDDEVI.Value
                    VLRFCE2.EntireRow.Cells(ColumNumber).Interior.ColorIndex = 20
                End If
 
                ColumNumber = ShESTD.Range("e1:ED1").Find(AGEMT1).Column
                If VLRFCE2.EntireRow.Cells(AGEMT).Value <> AGEMT.Value Then
                    VLRFCE2.EntireRow.Cells(AGEMT).Value = AGEMT.Value
                    VLRFCE2.EntireRow.Cells(ColumNumber).Interior.ColorIndex = 20
                End If
 
                ColumNumber = ShESTD.Range("e1:ED1").Find(CDRES1).Column
                If VLRFCE2.EntireRow.Cells(CDRES).Value <> CDRES.Value Then
                    VLRFCE2.EntireRow.Cells(CDRES).Value = CDRES.Value
                    VLRFCE2.EntireRow.Cells(ColumNumber).Interior.ColorIndex = 20
                End If
 
                ColumNumber = ShESTD.Range("e1:ED1").Find(CDZON1).Column
                If VLRFCE2.EntireRow.Cells(CDZON).Value <> CDZON.Value Then
                    VLRFCE2.EntireRow.Cells(CDZON).Value = CDZON.Value
                    VLRFCE2.EntireRow.Cells(ColumNumber).Interior.ColorIndex = 20
                End If
 
                ColumNumber = ShESTD.Range("e1:ED1").Find(NATIT1).Column
                If VLRFCE2.EntireRow.Cells(NATIT).Value <> NATIT.Value Then
                    VLRFCE2.EntireRow.Cells(NATIT).Value = NATIT.Value
                    VLRFCE2.EntireRow.Cells(ColumNumber).Interior.ColorIndex = 20
                End If
 
                ColumNumber = ShESTD.Range("e1:ED1").Find(RESET).Column
                If VLRFCE2.EntireRow.Cells(RESET).Value <> RESET.Value Then
                    VLRFCE2.EntireRow.Cells(RESET).Value = RESET.Value
                    VLRFCE2.EntireRow.Cells(ColumNumber).Interior.ColorIndex = 20
                End If
 
                ColumNumber = ShESTD.Range("e1:ED1").Find(REZON1).Column
                If VLRFCE2.EntireRow.Cells(REZON).Value <> REZON.Value Then
                    VLRFCE2.EntireRow.Cells(REZON).Value = REZON.Value
                    VLRFCE2.EntireRow.Cells(ColumNumber).Interior.ColorIndex = 20
                End If
 
                ColumNumber = ShESTD.Range("e1:ED1").Find(MTDVLC1).Column
                If VLRFCE2.EntireRow.Cells(MTDVLC).Value <> MTDVLC.Value Then
                    VLRFCE2.EntireRow.Cells(MTDVLC).Value = MTDVLC.Value
                    VLRFCE2.EntireRow.Cells(ColumNumber).Interior.ColorIndex = 20
                End If
 
            End If
 
        End If
 
    Next VLRFCE2
 
Next VLRFCE
 
End Sub
Il y a 2 soucis Le 1er est que la macro s'arrête sur [ VLRFCE1.Range = Range("a6")] l'objet n'est pas bon. je ne sais pas lequel mettre pour me positionner dans la cellule A6.
Le 2nd souci est [ ColumNumber = ShESTD.Range("E1:ED1").Find(TYMNT1).Column ], je ne vois pas pourquoi.

Je vous remercie par avance pour votre aide.