Bonjour,

j'ai créer une liste de tache avec un tri automatique en fonction d'une priorité, grace à VBA et pour cela j'utilise le programme suivant :

Sur la feuille :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Private Sub Worksheet_Change(ByVal Target As Range)
 
If Intersect(Target, Range("D15:D40")) Is Nothing Then Exit Sub
Call macro_tri '
 
End Sub
dans un module :
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
Sub macro_tri()
''
    Range("D14:G40").Select
    ActiveWorkbook.Worksheets("Perso").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Perso").Sort.SortFields.Add Key:=Range("D14:G40") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Perso").Sort
        .SetRange Range("D15:G40")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
Ce code fonctionnait parfaitement, mais du jour au lendemain il ne fonctionne plus sans que j'ai d'explication : le mesage d'erreur est le suivant :

Erreur d'execution '1004':
Erreur définie par l'application ou par l'objet
Que dois-je faire ?

Merci à vous

Je précise que le code bloque à l'étape