Bonjour,
Je voudrais faire une macro EXCEL, si quelqu’un peut m’aider ? Merci.
Sélection de la cellule active colonne C,
Sélection de la plage (cellule active-A2),
Trier la plage sur la colonne C : valeur croissante.
Bonsoir,
As tu tester l’enregistreur de macros ? Il est là pour cela.
Cordialement.
Oui bien sur mais il ne prends pas en compte la position actuelle de la cellule active …
re,
Sans exemple significatif, difficile de te répondre.
Cordialement.
OUI !!! Merci Zébulon, c’est ca.
Si ce n’est pas trop abusé, puis avoir la même chose sur :
Sélection de la cellule active colonne I,
Sélection de la plage (cellule active-A4),
Trier la plage sur la colonne I : valeur plus grand au plus petit,
Trier la plage sur la colonne B : valeur plus ancien au plus récent,
Trier la plage sur la colonne A : valeur plus petit au plus grand,
Merci.
Bonjour,
Sans fichier exemple, non. Je ne vois pas l’intérêt de sélectionner une plage pour y faire 3 tris différents.
Cordialement.
J’ai bricolé ca :
Sub TRI ()
Dim cel As Integer
cel = ActiveCell.Row
Range("A4:I" & cel).Select
ActiveWorkbook.Worksheets("HB").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("HB").Sort.SortFields.Add2 Key:=Range("I4:I" & cel), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("HB").Sort.SortFields.Add2 Key:=Range("B4:B"& cel), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("HB").Sort.SortFields.Add2 Key:=Range("A4:A"& cel), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("HB").Sort
.SetRange Range("A4:I" & cel)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.Apply
End With
Range("A4").Select
End Sub
Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.