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
Partager