Bonjour,

Dans la dernière partie du programme j'ai un tri qui ne se passe pas comme je le souhaiterai...
J'ai une ligne vide en haut du tableau.
Ma ligne d'entête de colonnes est la ligne 2.
Lorsque je tris, il ne tient pas compte de ma ligne d'entête et la trie avec les autres colonnes....
Est-ce que quelqu'un pourrait regarder où est le bug.
J'ai fait un certain nombre d'essai non concluant et je ne sais plus quoi faire...
D'avance merci
VIPNO



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
'Effacer la feuille ETP_par_Personne_2012
Sheets("ETP_par_Personne_2012").Activate
Ligne2 = Range("A1").End(xlDown).Row + 1          'efface à partir des +n lignes écrites ici 1
                                                    ' pour que la ligne compte il faut que la 1° cellule soit non vide
DerLigne2 = Range("A65536").End(xlUp).Row + 1       ' test la premiere ligne vide
 
                                                        ' A modifier pour changer le nombre de colonnes
 Range("A" & Ligne2 & ":V" & DerLigne2).ClearContents   ' efface des colonnes A à V
                                                        ' colonne A non vide pour fonctionner
 
 ' Copie des données de Traitement_par_Projet_2012 dans Feuille ETP_par_Personne_2012
 'Definie la derniere ligne Projet
Sheets("Traitement_par_Projet_2012").Activate
Ligne = Range("AA1").End(xlDown).Row + 1
DerLigne = Range("AA65536").End(xlUp).Row + 1
 
Worksheets("Traitement_par_Projet_2012").Range("AF" & Ligne & ":AF" & DerLigne).Copy
ActiveSheet.Paste Destination:=Worksheets("ETP_par_Personne_2012").Range("A" & Ligne & ":A" & DerLigne)
Worksheets("Traitement_par_Projet_2012").Range("AA" & Ligne & ":AE" & DerLigne).Copy
ActiveSheet.Paste Destination:=Worksheets("ETP_par_Personne_2012").Range("B" & Ligne & ":F" & DerLigne)
Worksheets("Traitement_par_Projet_2012").Range("AG" & Ligne & ":AV" & DerLigne).Copy
ActiveSheet.Paste Destination:=Worksheets("ETP_par_Personne_2012").Range("G" & Ligne & ":V" & DerLigne)
 
 Sheets("ETP_par_Personne_2012").Activate ' On travaille sur la Feuille ETP_par_Personne_2012
 
 ' Tri des données par Personne, Domaine, Activite,
        Range("A" & Ligne & ":V" & DerLigne).Select
        ActiveWorkbook.Worksheets("ETP_par_Personne_2012").Sort.SortFields.Clear
   ActiveWorkbook.Worksheets("ETP_par_Personne_2012").Sort.SortFields.Add Key:=Range("A2") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("ETP_par_Personne_2012").Sort.SortFields.Add Key:=Range("B2") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("ETP_par_Personne_2012").Sort.SortFields.Add Key:=Range("C2") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("ETP_par_Personne_2012").Sort.SortFields.Add Key:=Range("E2") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("ETP_par_Personne_2012").Sort.SortFields.Add Key:=Range("F2") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("ETP_par_Personne_2012").Sort
        .SetRange Range("A:V")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
Sheets("ETP_par_Personne_2012").Activate ' On travaille sur la Feuille ETP_par_Personne_2012