Bonjour,
Bien définir les tableaux cibles : Un en-tête dans chaque colonne,
Pas de colonne vide.
Pas de ligne vide
Pas de cellules fusionnées
Eviter les données parasites voisines du tableau et au moins une lignes et un colonne d'écart si présence données parasites.
Les données parasites peuvent créer des plantages de la macro (plantage visible si tu cliques sur la cellule Q1)
Ce plantage est du au fait que la macro n'est pas trop optimisé.
Pour éviter ce plantage utiliser la macro modifiée :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i%, isect
If Target.Row = 1 Then
If Target.Count = 1 Then
Set isect = Application.Intersect(Range("Data"), Target)
If Not isect Is Nothing Then
i = Target.Column
TriS i
End If
End If
End If
End Sub
Private Sub TriS(i)
Range("Data").Sort key1:=Cells(1, i), order1:=xlAscending, Header:=xlYes
End Sub
Nota : La macro peut et doit être adaptée de nombreuses manières (indescriptibles ici) en fonction des données...
(Par exemple Tri inverse ou différent selon les colonnes ou inhibé sur colonnes indésirables...)
A+