Bonjour,
Je voudrais trier mes lignes de A19 à U218 (tableau de données) une fois que les cellules de A à R de la ligne active sont complétées, le critère de tri est la cellule active de la colonne A.
Si je pousse plus loin le sujet, l'idéal serait d'avoir un tri dès lors que les cellules de la ligne active de A à R soit complétées, même si la dernière cellule complétée est la cellule C par exemple.
Voici mon code actuel, le problème vient de la ligne bleue, mon code ne se lance pas car la cellule R correspond au résultat d'un calcul, donc une formule protégée, et il s'avère que si je ne clique pas sur la cellule R, le tri ne se réalise pas.
Merci pour votre support !
Cordialement :)
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Static EnCours As Boolean 'Evite l'effet de boucle sur l'évènement Change()
If EnCours Then Exit Sub
If Not Application.Intersect(Target, Range("R:R")) Is Nothing Then
On Error Resume Next
ActiveSheet.Unprotect Password:="CPV"
ActiveSheet.Unprotect , DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
EnCours = True
Range("A19:U218").Sort Key1:=Range("A19"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
EnCours = False
ActiveSheet.Protect Password:="CPV", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
End If
Application.EnableEvents = True
End Sub