Bonjour à tous,
Je tente de faire un tri d'un tableau selon plusieurs critères type nom puis si nom identique prénom puis si les 2 identiques date de naissance via une macro sur excel 2007.
J'ai enregistré ma macro en faisant l'opération pour avoir le bon codage.
Le problème est que quand j'affecte ma macro à un bouton poussoir et que j'appuie dessus, les valeurs de mes cellules sont modifiées.
Il faut savoir que les cellules à triés sont toutes des formules du type "somme" ou "si" liées à d'autres cellule.
Exemple:
* formule de base
=SOMME(H4:J4;K5:M5;K8:M8)
* formule après tri
=SOMME(H1:J1;K2:M2;K5:M5)
Dans VBA j'ai cette programmation:
Sub tri_élèves()
'
' tri_élèves Macro
'
'
Range("T3:Y7").Select
ActiveWorkbook.Worksheets("élè ves").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("élè ves").Sort.SortFields.Add Key:= _
Range("V4:V7"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("élè ves").Sort.SortFields.Add Key:= _
Range("Y4:Y7"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("élè ves").Sort.SortFields.Add Key:= _
Range("W4:W7"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("élè ves").Sort
.SetRange Range("T3:Y7")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Sauriez-vous me donner une astuce pour conserver mes formules lors d'un tri?
Merci d'avance.
Je tente de faire un tri d'un tableau selon plusieurs critères type nom puis si nom identique prénom puis si les 2 identiques date de naissance via une macro sur excel 2007.
J'ai enregistré ma macro en faisant l'opération pour avoir le bon codage.
Le problème est que quand j'affecte ma macro à un bouton poussoir et que j'appuie dessus, les valeurs de mes cellules sont modifiées.
Il faut savoir que les cellules à triés sont toutes des formules du type "somme" ou "si" liées à d'autres cellule.
Exemple:
* formule de base
=SOMME(H4:J4;K5:M5;K8:M8)
* formule après tri
=SOMME(H1:J1;K2:M2;K5:M5)
Dans VBA j'ai cette programmation:
Sub tri_élèves()
'
' tri_élèves Macro
'
'
Range("T3:Y7").Select
ActiveWorkbook.Worksheets("élè ves").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("élè ves").Sort.SortFields.Add Key:= _
Range("V4:V7"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("élè ves").Sort.SortFields.Add Key:= _
Range("Y4:Y7"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("élè ves").Sort.SortFields.Add Key:= _
Range("W4:W7"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("élè ves").Sort
.SetRange Range("T3:Y7")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Sauriez-vous me donner une astuce pour conserver mes formules lors d'un tri?
Merci d'avance.