Bonjour,

Je vous écris à propos d'un comportement d'excel que je ne comprends pas avec une de mes macros.

En gros à la base je veux trier une colonne d'un TCD à l'aide d'une liste personnalisée.

La création du TCD c'est ok. De même pour l'ajout de la liste personnalisée.
Seulement le tri est effectué qu'au deuxième lancement de la macro, chose que je ne comprends pas.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Application.AddCustomList ListArray:=Array("port libre", "port pseudo libre", "port architecturé", "port réduit", "abattage", "essouchage", "recépage", "dévitalisation")
    Dim n As Integer
    n = Application.GetCustomListNum(Array("port libre", "port pseudo libre", "port architecturé", "port réduit", "abattage", "essouchage", "recépage", "dévitalisation")) + 1
'1 added to give true position of desired order in custom list
Sheets("Travailbis").Select
Selection.Range("A5").Select 'début de ma colonne
Selection.Sort Order1:=xlAscending, Header:=xlGuess, _
Type:=xlSortLabels, OrderCustom:=n, Orientation:=xlTopToBottom
Autre particularité que je ne comprends pas, si je désactive la commande de tri, le tri s'effectue quand même, c'est à dire avec le code suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Application.AddCustomList ListArray:=Array("port libre", "port pseudo libre", "port architecturé", "port réduit", "abattage", "essouchage", "recépage", "dévitalisation")
    Dim n As Integer
    'n = Application.GetCustomListNum(Array("port libre", "port pseudo libre", "port architecturé", "port réduit", "abattage", "essouchage", "recépage", "dévitalisation")) + 1
'1 added to give true position of desired order in custom list
Sheets("Travailbis").Select
 
Selection.Range("A5").Select
'Selection.Sort Order1:=xlAscending, Header:=xlGuess, '_
'Type:=xlSortLabels, OrderCustom:=n, Orientation:=xlTopToBottom
Avez-vous une idée? le seul fait de sélectionner le début de la colonne de mon tcd en ayant ajouté une liste personnalisée avant ferait que le tri s'effectue automatiquement?

Je vous remercie d'avance.