libellule85
XLDnaute Accro
Bonsoir le forum,
Je remercie une nouvelle fois job75 pour la macro suivante : quand on met une date sans astérisque cela classe du plus ancien au plus récent, et quand on ajoute l'astérisque à une date cela classe du plus récent au plus ancien.
J'aimerais rajouter, si cela est possible, un deuxième classement : quand il y a un "x" dans la cellule de droite cela met la ligne en dernier suivant le classement choisi.
Actuellement, il faudrait que toutes les lignes barrées soient mises à la fin du classement (et classées par date) et si le classement est du plus ancien au plus récent il faudrait que les lignes barrées soient au début.
J'espère avoir été clair dans mes explications.
D'avance merci pour votre aide
Je remercie une nouvelle fois job75 pour la macro suivante : quand on met une date sans astérisque cela classe du plus ancien au plus récent, et quand on ajoute l'astérisque à une date cela classe du plus récent au plus ancien.
J'aimerais rajouter, si cela est possible, un deuxième classement : quand il y a un "x" dans la cellule de droite cela met la ligne en dernier suivant le classement choisi.
Actuellement, il faudrait que toutes les lignes barrées soient mises à la fin du classement (et classées par date) et si le classement est du plus ancien au plus récent il faudrait que les lignes barrées soient au début.
J'espère avoir été clair dans mes explications.
D'avance merci pour votre aide
VB:
Private Sub Worksheet_Change(ByVal Target As Range) 'Un grand merci à Job75 pour cette macro
Dim dat$
With ListObjects(1).DataBodyRange
If Intersect(Target, .Columns(1)) Is Nothing Or Target.Count > 1 Then Exit Sub
If Target = "" Then
Rows(Target.Row).Delete
Else
If Right(Target, 1) = "*" Then dat = Replace(Target, "*", "")
If IsDate(dat) Then Target = CDate(dat)
.Sort .Columns(1), IIf(dat = "", 1, 2), Header:=xlYes
End If
End With
End Sub