Bonjour à tous,

J'ai une macro qui utilise deux fichiers. Chaque fichier comporte 3 onglets. Son but est de détecter si le calcul de la TVA est bien effectué. Si oui, elle passe à la ligne suivante. Si non, elle met le chiffre en gras et en rouge et va repéré dans l'autre fichier le même chiffre et fait la même manip (gras et rouge).
La macro s'éxécute parfaitement.
CEPENDANT, de nombreuses lignes sont mises en gras et rouge, alors que le calcul est juste. Quelqu'un peut-il m'expliquer à quoi cela est dû? Peut-être au type de variable. Mes variables sont initialisées en Variant, or le contenu des cellules excel est en Variant/Double si je ne me trompe pas.

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
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
'Identification des écarts de TVA pour IE
 
Sheets("Analyse Erreurs").Activate
For m = 6 To ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
 
net = ActiveSheet.Range("B" & m).Value
tva = 1.196
brut = net * tva
 
ActiveSheet.Range("D" & m).Select
If ActiveCell.Value = brut Then
error4 = False
 
ElseIf ActiveCell.Value <> brut Then
 
Select Case brut
Case IsError(brut)
error4 = True
Case Else
ActiveSheet.Range("D" & m).Select
Selection.Font.Bold = True
    With Selection.Font
        .Color = -16776961
        .TintAndShade = 0
    End With
    Application.CutCopyMode = False
Windows("221012_Export_PCCD_E2SDiesel_MY13_C05.xls").Activate
Sheets("IndividualEquipmentsC05").Activate
ActiveSheet.Range("N" & m).Select
 Selection.Font.Bold = True
 With Selection.Font
        .Color = -16776961
        .TintAndShade = 0
    End With
Windows("Automatic_prix.xls").Activate
Sheets("Analyse Erreurs").Activate
End Select
End If
Next m
 
'Identification des écarts de TVA pour EE
 
For m = 6 To Range("G" & Rows.Count).End(xlUp).Row
Range("J" & m).Select
 
net = Range("H" & m).Value
tva = 1.196
brut = net * tva
 
If ActiveCell.Value = brut Then
error4 = False
 
ElseIf ActiveCell.Value <> brut Then
 
Select Case brut
Case IsError(brut)
error4 = True
Case Else
ActiveSheet.Range("J" & m).Select
Selection.Font.Bold = True
    With Selection.Font
        .Color = -16776961
        .TintAndShade = 0
    End With
    Application.CutCopyMode = False
Windows("221012_Export_PCCD_E2SDiesel_MY13_C05.xls").Activate
Sheets("ExclusiveEquipmentsC05").Activate
Range("N" & m).Select
 Selection.Font.Bold = True
 With Selection.Font
        .Color = -16776961
        .TintAndShade = 0
    End With
Windows("Automatic_prix.xls").Activate
Sheets("Analyse Erreurs").Activate
End Select
End If
Next m
 
'Identification des écarts de TVA pour ZE
 
Sheets("Analyse Erreurs").Activate
For m = 6 To Range("M" & Rows.Count).End(xlUp).Row
Range("P" & m).Select
 
net = Range("N" & m).Value
tva = 1.196
brut = net * tva
 
If ActiveCell.Value = brut Then
error4 = False
 
ElseIf ActiveCell.Value <> brut Then
 
Select Case brut
Case IsError(brut)
error4 = True
Case Else
ActiveSheet.Range("P" & m).Select
Selection.Font.Bold = True
    With Selection.Font
        .Color = -16776961
        .TintAndShade = 0
    End With
    Application.CutCopyMode = False
Windows("221012_Export_PCCD_E2SDiesel_MY13_C05.xls").Activate
Sheets("ZAntragEquipmentsC05").Activate
Range("N" & m).Select
 Selection.Font.Bold = True
 With Selection.Font
        .Color = -16776961
        .TintAndShade = 0
    End With
Windows("Automatic_prix.xls").Activate
Sheets("Analyse Erreurs").Activate
End Select
End If
Next m

IE, EE et ZE sont 3 onglets de l'un des deux fichiers.

Quelqu'un connaitrait-il la raison de ce dysfonctionnement?

Merci beaucoup d'avance