est-il possible qu'il y ait des bugs dans le vb editor d'excel ??

parce que la je vois pas du tout pourquoi mon code ne marche pas...
j'ai deux fois le meme code sur 2 scripts et ces deux scripts ne font pas la meme chose c'est pas normal...n'est-ca pas ?

aidez-moi, si ça vous intéresse je mets le 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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
 
Dim i
Dim imax
Dim j
Dim jmax
Dim n
Dim nmax
Dim k
Dim m
Dim tab1_csv()
Dim tab1_report()
Dim tab1_report_temp()
 
Public Sub traitement_csv1()
 
'récupération des données du fichier csv jusqu'à R49
    j = 5
    k = 1
 
    While Workbooks("COUR_LOCAL_" & DateReport & ".csv").Worksheets("COUR_LOCAL_" & DateReport).Cells(j + 1, 1).Rows.Value <> "Total_LM" 'boucle déterminant le nombre de ligne dans le csv
        If Workbooks("COUR_LOCAL_" & DateReport & ".csv").Worksheets("COUR_LOCAL_" & DateReport).Cells(j + 1, 1).Rows.Value <= "R49" Then
 
            ReDim Preserve tab1_csv(2, k)
            tab1_csv(0, k - 1) = Workbooks("COUR_LOCAL_" & DateReport & ".csv").Worksheets("COUR_LOCAL_" & DateReport).Cells(j + 1, 1).Text
            tab1_csv(1, k - 1) = Workbooks("COUR_LOCAL_" & DateReport & ".csv").Worksheets("COUR_LOCAL_" & DateReport).Cells(j + 1, 2).Text
             k = k + 1
        End If
            j = j + 1
    Wend
    jmax = k - 2
    Workbooks("COUR_LOCAL_" & DateReport & ".csv").Close savechanges:=False
End Sub
 
Public Sub traitement_report1() 'les données du reporting (libellés et valeurs) sont mises dans tableau tab1_report
 
 
    i = 4
    k = 1
    While Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse1").Cells(1, i + 1).Value <> ""
        ReDim Preserve tab1_report(2, k)
        tab1_report(0, k - 1) = Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse1").Cells(1, i + 1).Text
        tab1_report(1, k - 1) = 0
        i = i + 1
        k = k + 1
    Wend
    imax = k - 2
 
End Sub
 
Public Sub traitement1_report_temporaire() '-->gestion du tableau tab1_report_temp pour ajouter les colonnes dans le xls
 
    n = 4
    k = 1
    While Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse1").Cells(1, n + 1).Value <> ""
        ReDim Preserve tab1_report_temp(k)
        tab1_report_temp(k - 1) = Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse1").Cells(1, n + 1).Text
        n = n + 1
        k = k + 1
    Wend
    nmax = k - 2
 
End Sub
 
Sub comparaison_csv1() 'comparaison entre tab1_report et tab1_csv
 
    m = 0
    For j = 0 To jmax
        present = False
        For i = 0 To imax
            If (tab1_csv(0, j) = tab1_report(0, i)) Then
                present = True
                indice_present = i
            End If
         Next i
            If present = True Then 'si on a deja les libellés dans le tab_report on ajoute les valeurs correspondantes du csv
                tab1_report(1, indice_present) = tab1_csv(1, j)
            Else 'sinon on ajoute une colonne à la fin de tab1_report en ajoutant libellé et valeur
                ReDim Preserve tab1_report(2, imax + 2)
                tab1_report(0, imax + 1) = tab1_csv(0, j)
                tab1_report(1, imax + 1) = tab1_csv(1, j)
                imax = imax + 1
            End If
      Next j
End Sub
 
Sub tri1() 'tri du tableau tab_report1 = tab1_csv + tab1_report
 
Dim ok
Dim tampon
Dim tampon2
 
    Do
        ok = True
        For m = 0 To imax - 1
            If (tab1_report(0, m) > tab1_report(0, m + 1)) Then
                ok = False
                tampon = tab1_report(0, m)
                tampon2 = tab1_report(1, m)
                tab1_report(0, m) = tab1_report(0, m + 1)
                tab1_report(1, m) = tab1_report(1, m + 1)
                tab1_report(0, m + 1) = tampon
                tab1_report(1, m + 1) = tampon2
            End If
        Next m
    Loop While ok = False
 
End Sub
 
Sub insertion_colonne_lm1()
 
Dim p, m, Indice_Est_present, fin_report, fin_report_temp, nb_colonne_ajout As Integer
Dim Est_present As Boolean
Set zoneA = Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse1").Range("A1").CurrentRegion
 
nb_colonne_ajout = 0
fin_report = imax
fin_report_temp = nmax
Indice_Est_present = 3  'A modifier en fonction du reporting =3 attention!!
 
    For m = 0 To fin_report
        For p = 0 To fin_report_temp
            If (tab1_report(0, m) = tab1_report_temp(p)) Then
                Est_present = True
                Indice_Est_present = p
                'afficher la valeur libellés
                Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse1").Cells(zoneA.Rows.Count, m + 5) = tab1_report(1, m)
                Exit For
            Else
               Est_present = False
            End If
        Next p
        If (Est_present = False) Then
            'Ajouter la colonne
            Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse1").Activate
            Columns(Indice_Est_present + 2 + nb_colonne_ajout).Select
            Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromRightOrBelow
            nb_colonne_ajout = nb_colonne_ajout + 1
            'Afficher le nom  du courrier & le nombre de courrier
            Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse1").Cells(1, m + 1) = tab1_report(0, m)
            Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse1").Cells(zoneA.Rows.Count, m + 1) = tab1_report(1, m)
        End If
    Next m
End Sub
Donc ca c'est la premiere partie qui marche impec.

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
131
132
133
134
135
136
137
138
139
140
141
142
143
 
Dim i
Dim imax
Dim j
Dim jmax
Dim n
Dim nmax
Dim k
Dim m
Dim tab2_csv()
Dim tab2_report()
Dim tab2_report_temp()
 
Public Sub traitement_csv2()
 
'récupération des données du fichier csv jusqu'à "Total_LM"
 
    j = 5
    k = 1
 
    While Workbooks("COUR_LOCAL_" & DateReport & ".csv").Worksheets("COUR_LOCAL_" & DateReport).Cells(j + 1, 1).Rows.Value <> "Total_LM" 'boucle jusqu'à la fin du csv
        If Workbooks("COUR_LOCAL_" & DateReport & ".csv").Worksheets("COUR_LOCAL_" & DateReport).Cells(j + 1, 1).Rows.Value > "R49" Then
            ReDim Preserve tab2_csv(2, k)
            tab2_csv(0, k - 1) = Workbooks("COUR_LOCAL_" & DateReport & ".csv").Worksheets("COUR_LOCAL_" & DateReport).Cells(j + 1, 1).Text
            tab2_csv(1, k - 1) = Workbooks("COUR_LOCAL_" & DateReport & ".csv").Worksheets("COUR_LOCAL_" & DateReport).Cells(j + 1, 2).Text
            k = k + 1
        End If
        j = j + 1
    Wend
    jmax = k - 2
    Workbooks("COUR_LOCAL_" & DateReport & ".csv").Close savechanges:=False
End Sub
 
Public Sub traitement_report2() 'les données du reporting (libellés et valeurs) sont mises dans tableau tab2_report
 
    i = 1
    k = 1
 
    While Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse2").Cells(1, i + 1).Value <> "w"
        ReDim Preserve tab2_report(2, k)
        tab2_report(0, k - 1) = Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse2").Cells(1, i + 1).Text
        tab2_report(1, k - 1) = "0"
        i = i + 1
        k = k + 1
    Wend
    imax = k - 2
 
End Sub
 
Public Sub traitement2_report_temporaire() '-->gestion du tableau tab2_report_temp afin d'ajouter les colonnes dans le xls
 
    n = 1
    k = 1
    While Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse2").Cells(1, n + 1).Value <> "w"
        ReDim Preserve tab2_report_temp(k)
        tab2_report_temp(k - 1) = Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse2").Cells(1, n + 1).Text
        n = n + 1
        k = k + 1
    Wend
    nmax = k - 2
End Sub
 
Sub comparaison_csv2() 'comparaison entre tab2_report et tab2_csv
 
    For j = 0 To jmax
        present = False
        For i = 0 To imax
            If (tab2_csv(0, j) = tab2_report(0, i)) Then
                present = True
                indice_present = i
            End If
         Next i
            If present = True Then 'si on a deja les libellés dans le tab_report on lui ajoute les valeurs correspondantes du csv
                tab2_report(1, indice_present) = tab2_csv(1, j)
            Else 'sinon on ajoute une colonne à la fin de tab_report en appliquant libellé et valeur
                ReDim Preserve tab2_report(2, imax + 2)
                tab2_report(0, imax + 1) = tab2_csv(0, j)
                tab2_report(1, imax + 1) = tab2_csv(1, j)
                imax = imax + 1
            End If
      Next j
End Sub
 
Sub tri2() 'tri du tableau tab_report2 = tab2_csv + tab2_report
 
Dim ok
Dim tampon
Dim tampon2
 
Do
    ok = True
    For m = 0 To imax - 1
        If (tab2_report(0, m) > tab2_report(0, m + 1)) Then
            ok = False
            tampon = tab2_report(0, m)
            tampon2 = tab2_report(1, m)
            tab2_report(0, m) = tab2_report(0, m + 1)
            tab2_report(1, m) = tab2_report(1, m + 1)
            tab2_report(0, m + 1) = tampon
            tab2_report(1, m + 1) = tampon2
        End If
    Next m
Loop While ok = False
 
End Sub
 
Sub insertion_colonne_lm2()
 
Dim p, m, Indice_Est_present, fin_report, fin_report_temp, nb_colonne_ajout As Integer
Dim Est_present As Boolean
Set zoneB = Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse2").Range("A2").CurrentRegion
 
nb_colonne_ajout = 0
fin_report = imax
fin_report_temp = nmax
Indice_Est_present = 0
 
    For m = 0 To fin_report
        For p = 0 To fin_report_temp
            If (tab2_report(0, m) = tab2_report_temp(p)) Then
                Est_present = True
                Indice_Est_present = p
                'afficher le nombre de courrier
                'MsgBox tab2_report(1, m)
                Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse2").Cells(zoneB.Rows.Count, m + 2) = tab2_report(1, m)
                Exit For
            Else
               Est_present = False
            End If
        Next p
        If (Est_present = False) Then
            'Ajouter la colonne
            Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse2").Activate
            Columns(Indice_Est_present + 2 + nb_colonne_ajout).Select
            Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromRightOrBelow
            nb_colonne_ajout = nb_colonne_ajout + 1
            'Afficher le nom du courrier & le nombre de courrier
            'MsgBox tab2_report(0, m) & tab2_report(1, m)
            Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse2").Cells(1, m + 2) = tab2_report(0, m)
            Workbooks("Reporting_Siebel.xls").Worksheets("LocalMasse2").Cells(zoneB.Rows.Count, m + 2) = tab2_report(1, m)
        End If
    Next m
End Sub
et ca c'est le code qui est censé faire la meme chose mais qui fait pas la meme chose.. a votre bon coeur m'sieur dame...