Bonjour à tous,je suis étudiant en école d'ingénieur et sans connaissance particulière du langage "vba" (c'est ma toute première macro-excel). Après avoir longuement cherché sur internet je suis confronté à une erreur de compilation du type "For sans Next". Mon but à travers la réalisation de cette macro est de réaliser un tri-sélectif en fonction du type d'erreur "warning","error","information" placé dans une colonne d'un classeur excel, en effet dans le classeur initial les informations sont classées par tranche horaire.J'ai donc réalisé le script suivant en m'inspirant de divers forums (en particulier celui-ci).

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
 Sub TRITAB()
 
    '1ere Partie du Tri'
 
    Dim TableauInit() As Variant
    Dim i, j, k1, k2, k3, NbLignes, NbColonnes As Integer
    Dim buffer() As Variant
    Dim TableauTri1() As Variant
    Dim TableauTri2() As Variant
    Dim TableauTri3() As Variant
    Dim TableauTri4() As Variant
    Dim temp1, temp2, temp3 As String
    Dim Taille_t1, Taille_t2, Taille_t3 As Long
 
    TableauInit = Range("A:G").Formula
 
 
    temp1 = "Error"
    temp2 = "Warning"
    temp3 = "Information"
    k1 = "0"
    k2 = "0"
    k3 = "0"
    NbColonnes = "7"
    NbLignes = "1044"
 
 
    For i = 1 To NbLignes
         If ((TableauInit(i, 1)) = temp1) Then
 
            buffer = TableauInit(i, 1)
            TableauTri1(k1, j) = buffer
            i = i + 1
            k1 = k1 + 1
 
         End If
         If ((TableauInit(1, 1)) = temp2) Then
 
            buffer = TableauInit(i, 1)
            TableauTri2(k2, j) = buffer
            i = i + 1
            k2 = k2 + 1
 
         End If
         If ((TableauInit(i, 1)) = temp3) Then
 
            buffer = TableauInit(i, 1)
            TableauTri3(k3, j) = buffer
            i = i + 1
            k3 = k3 + 1
 
         End If
 
         Taille_t1 = UBound(TableauTri1)
         Taille_t2 = UBound(TableauTri2)
         Taille_t3 = UBound(TableauTri3)
         Taille = Taille_t1 + Taille_t2 + Taille_t3
 
         ReDim TableauTri4(1 To Taille)
 
 
        'For Z = 1 To Taille_t1'
           'TableauTri4(Z) = TableauTri1(Z)'
        'Next Z '
 
        'For W = 1 To Taille_t2'
          'TableauTri4(Taille_t1 + W) = TableauTri2(W)'
        'Next W'
 
        For Y = 1 To Taille_t3
          TableauTri4(Taille_t2 + Y) = TableauTri3(Y)
        Next Y
 
        Range("A:G").Formula = TableauTri4 '
 
End Sub
Cependant celui ci ne fonctionne pas et m'indique une erreur de compilation du type "For Sans Next" ,même quand je place l'ensemble des boucles for (les 3 dernières en commentaire). De plus lorsque l'erreur se manifeste elle sélectionne en bleu le "End Sub" final.
Voila voila merci d'avance pour votre compréhension et votre aide.