Bonjour,
J'ai un tableau dans une feuille intitulée congé annuels, le tableau est nommé tableau 5. Mon tableau est un tableau dynamique qui s'étend des colonnes A à J
J'ai créer une macro pour faire un tri automatique lorsque l'on rentre une date en colonne A. Le problème c'est que mon tri s'étend à toutes les colonnes, hors je voudrais qu'il s'étende uniquement des colonnes A à F incluse.
Une idée pour que le tri ne se fasse que sur la plage donnée en fonction de la colonne A ?
Mon code est ci-dessous :
Merci d'avance pour la lecture et bonne fin de journée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("Tableau5")) Is Nothing Then ' si la cellule modifiée fait partie du tableau5 Application.ScreenUpdating = False ' pour éviter que le tableau "clignote" on arrête la mise à jour de l'écran ActiveWorkbook.Worksheets("Congé Annuels").ListObjects("Tableau5").Sort.SortFields. _ Clear ' supprime les filtres éventuels ActiveWorkbook.Worksheets("Congé Annuels").ListObjects("Tableau5").Sort.SortFields. _ Add Key:=Range("Tableau5[[#All],[Date :]]"), SortOn:=xlSortOnValues, Order _ :=xlAscending, DataOption:=xlSortNormal ' tri par ordre croissant sur la colonne date (colonne A) With ActiveWorkbook.Worksheets("Congé Annuels").ListObjects("Tableau5").Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Application.ScreenUpdating = True ' on remet en marche la mise à jour de l'écran End If End Sub
Partager