Message Erreur 1004

vickyBKK Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,

Je suis débutante en VBA.
J'ai créer ce code pour qu'excel me trie par (B1) OF et (F1) OP des dates, car parfois j'ai deux dates pour un même OP et avec ce code je voudrais obtenir un tableau sur une nouvelle feuille avec par OP une seule date ; la plus grande.
Voici mon code :
Sub datetrier()

Dim i, j, k, m, Pass As Integer
Dim maPlage As Range
Dim Tabl(), temP(), TablV()
Dim Resultat()
Dim cellVide
Dim MaCOll As Collection

Application.ScreenUpdating = False
Range("A1:W1").EntireColumn.Hidden = False
Sheets("Prod").Activate
cellVide = Range("A1048576").End(xlUp).Offset(1, 0).Row

Range(Cells(2, 1), Cells(cellVide - 1, 10)).Sort Range("b1"), xlAscending, Range("f1"), , xlAscending
Set maPlage = Range("A2:J" & cellVide)
Tabl = maPlage.Value


For i = 1 To cellVide - 1
    Tabl(i, 10) = Tabl(i, 2) & Tabl(i, 6)
Next i

ReDim TablV(cellVide, 10)
k = 1
Set MaCOll = New Collection
On Error Resume Next
For i = 1 To cellVide
    ReDim Preserve Resultat(2, m + 1)
    MaCOll.Add Tabl(i, 10), CStr(Tabl(i, 10))
    If Err <> 0 Then
        If CLng(Tabl(i, 1)) > CLng(Tabl(i - 1, 1)) Then
            TablV(k - 1, 1) = Tabl(i, 1)
        End If
        Err.Clear
    Else
        If Tabl(i, 10) = " " Then
            Exit For
        End If
        For j = 1 To 9
            TablV(k, j) = Tabl(i, j)
        Next j
        k = k + 1
    End If
Next i

Sheets("datefiltré").Cells.Clear
Sheets("Prod").Activate
Range("A1;I1").Select
Selection.Copy
Sheets("datefiltré").Activate
Range("A1").Select
ActiveSheet.Paste

For i = 2 To UBound(TablV)
    For j = 1 To 9
        Cells(i, j) = TablV(i - 1, j)
    Next j
Next i
    
Application.screenupadating = True

End Sub

Quand je tente d'exécuter ce code, une erreur 1004 s'affiche et mee dis que La méthode Sort de la classe range a échoué.
Je ne comprend pas d'ou vient mon erreur.
Merci de votre lecture,
Vicky
A voir également:

1 réponse