Bonjour,

(attention, je suis novice....)

je dois MODIFIER un échéancier de maintenance pour plusieurs secteurs (un classeur commun avec des feuilles par secteurs) chaque secteur doit remplir deux colonnes (date de visite et observations) sur sa feuille. Chaque feuille contient des macros pour trier par "périodicité" ou par "ensemble" etc...., je souhaite protéger les cellules des feuilles pour éviter les erreurs ou les modifications (sauf les colonnes date de visite et observations) mais lorsque je protège la feuille et que je veux appliquer une des macros un message me dit "erreur d'execution 1004' , la methode sort de la classe range a échoué"

et le débogage montre une erreur sur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub classer_par_ensemble()
'
' classer_par_ensemble Macro
' Macro enregistrée le 20/07/2010 par CENTRALE
'
'
    Rows("7:602").Select
    'Range("A602").Activate
    Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range("C2") _
        , Order2:=xlAscending, Key3:=Range("D2"), Order3:=xlAscending, Header:= _
        xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    'ActiveWindow.SmallScroll Down:=-9
    Range("A1").Select
End Sub
LES MACROS DU FICHIER SONT: (CELUI QUI LES A ECRITES N'EST PLUS LA !)

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
Sub Actualiser()
'
' Actualiser Macro
' Macro enregistrée le 08/10/2007 par FSM
'
 
'
    Range("D540").Select
    ActiveCell.FormulaR1C1 = "=TODAY()"
    Range("D540").Select
    ActiveWindow.LargeScroll Down:=-12
    Range("A1").Select
End Sub
Sub classer_par_ensemble()
'
' classer_par_ensemble Macro
' Macro enregistrée le 20/07/2010 par CENTRALE
'
'
    Rows("7:602").Select
    'Range("A602").Activate
    Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range("C2") _
        , Order2:=xlAscending, Key3:=Range("D2"), Order3:=xlAscending, Header:= _
        xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    'ActiveWindow.SmallScroll Down:=-9
    Range("A1").Select
End Sub
Sub classer_par_bâtiment()
'
' classer_par_bâtiment Macro
' Macro enregistrée le 20/07/2010 par CENTRALE
'
'
    Rows("7:602").Select
    'Range("A602").Activate
    Selection.Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range("B2") _
        , Order2:=xlAscending, Key3:=Range("D2"), Order3:=xlAscending, Header:= _
        xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    'ActiveWindow.SmallScroll Down:=-9
    Range("A1").Select
End Sub
 
 
Sub classer_par_installation()
'
' classer_par_installation Macro
' Macro enregistrée le 08/10/2007 par FSM
'
'
    'ActiveWindow.SmallScroll ToRight:=0
    'Rows("7:602").Select
    'Range("A602").Activate
    'ActiveWindow.SmallScroll Down:=-15
    Rows("7:602").Select
    'Range("602").Activate
    Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range("D2") _
        , Order2:=xlAscending, Key3:=Range("E2"), Order3:=xlAscending, Header:= _
        xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    'ActiveWindow.SmallScroll Down:=-33
    Range("A1").Select
End Sub
Sub classer_par_périodicité()
'
' classer_par_périodicité Macro
' Macro enregistrée le 08/10/2007 par FSM
'
 
'
    Rows("7:602").Select
    Selection.Sort Key1:=Range("H2"), Order1:=xlAscending, Key2:=Range("B2") _
        , Order2:=xlAscending, Key3:=Range("D2"), Order3:=xlAscending, Header:= _
        xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    Range("A1").Select
End Sub
Sub classer_par_dpv()
'
' classer_par_dpv Macro
' Macro enregistrée le 08/10/2007 par FSM
'
 
'
    Rows("7:602").Select
    'Range("A602").Activate
    Selection.Sort Key1:=Range("J2"), Order1:=xlAscending, Key2:=Range("B2") _
        , Order2:=xlAscending, Key3:=Range("D2"), Order3:=xlAscending, Header:= _
        xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    'ActiveWindow.SmallScroll Down:=-9
    Range("A1").Select
End Sub
MERCI DE VOTRE AIDE