Bonjour,
j'ai tout tenté, mais je n'arrive pas à mes fins.
Voilà le problème. Je voudrais effectuer un tri en vba sur une sélection de lignes. Seulement mon problème, c'est que je peux à l'occasion ajouter des lignes, et je veux que le tri démarre en cellule D7 jusque la colonne R, mais je veux aussi exempter la dernière ligne du tri.
Voici le début, le code qui me permet de faire ma sélection, jusqu'à la dernière ligne, -1.
Dim maPlage As Range
Dim DernLigne As Long
DernLigne = Range("D" & Rows.Count).End(xlUp).Row - 1
Set maPlage = Range("D7:R" & DernLigne)
maPlage.Select
Ensuite, selon l'assistant pour enregistrer une macro, j'ai ceci:
ActiveWorkbook.Worksheets("Template").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Template").Sort.SortFields.Add Key:=Range("D764" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Template").Sort
.SetRange Range("C7:R69")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
J'ai essayé de modifier Le texte en rouge, par "Selection" dans le code, mais la macro bugue en arrivant à .Apply. Tout en ayant cependant réalisé les modifications de tri attendues...
Une idée de ce qui ne vas pas?
Merci pour votre aide.
Laurent.
PS:Le bonhomme sourire n'est pas voulu, c'est juste que la partie de code : D a été remplacée par monsieur sourire!
j'ai tout tenté, mais je n'arrive pas à mes fins.
Voilà le problème. Je voudrais effectuer un tri en vba sur une sélection de lignes. Seulement mon problème, c'est que je peux à l'occasion ajouter des lignes, et je veux que le tri démarre en cellule D7 jusque la colonne R, mais je veux aussi exempter la dernière ligne du tri.
Voici le début, le code qui me permet de faire ma sélection, jusqu'à la dernière ligne, -1.
Dim maPlage As Range
Dim DernLigne As Long
DernLigne = Range("D" & Rows.Count).End(xlUp).Row - 1
Set maPlage = Range("D7:R" & DernLigne)
maPlage.Select
Ensuite, selon l'assistant pour enregistrer une macro, j'ai ceci:
ActiveWorkbook.Worksheets("Template").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Template").Sort.SortFields.Add Key:=Range("D764" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Template").Sort
.SetRange Range("C7:R69")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
J'ai essayé de modifier Le texte en rouge, par "Selection" dans le code, mais la macro bugue en arrivant à .Apply. Tout en ayant cependant réalisé les modifications de tri attendues...
Une idée de ce qui ne vas pas?
Merci pour votre aide.
Laurent.
PS:Le bonhomme sourire n'est pas voulu, c'est juste que la partie de code : D a été remplacée par monsieur sourire!