Bonjour,

Je me casse la tête sur une erreur que je comprends pas, voici 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
Private Sub Worksheet_Change(ByVal Target As Range)
 
Dim p As Integer
Dim FRel As Worksheet
Dim nblignes As Integer, nbcol As Integer
If SOC.Range("E7").Value = "x" Then
        Set FRel = LDD
 
        nblignes = FRel.Range("B1048576").End(xlUp).Row
 
        If nblignes > 4 Then
            'Ligne suivante menant à l'erreur (si je la retire, c'est la ligne suivante qui se met en erreur)
            FRel.Range("B5:F" & nblignes).Sort.SortFields.Clear
            FRel.Range("B5:F" & nblignes).AutoFilter.Sort.SortFields.Add Key:=FRel.Range("B5:B1048576"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            With FRel.Range("B5:F" & nblignes).Sort
                .Header = xlYes
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
            End With
        End If
 
        Call SommeMois(FRel, "Z")
    End If
L'erreur se produit sur la première ligne du sort :FRel.Range("B5:F" & nblignes).Sort.SortFields.Clear

Je ne vois absolument pas où se trouve l'erreur : je déclare la variable feuille puis je l'attribue et ensuite j'applique la méthode sort sur l'objet. Donc l'objet devrait existait non ?

A moins que je ne puisse pas faire cela...

En vous remerciant pour votre aide,

Pubbins.