Bonjour,
Malgré la consultation de topics reliés à mon problème je n'arrive pas solutionner le mien...
Explications :
J'ai un fichier (assez lourd) pour lequel il me faut à un moment donner faire en sorte que les valeurs soient classées par ordre alphabétique. En gros chaque jour je met à jour le fichier avec de nouvelle données qu'on va aller coller dans certaines feuilles et après ce "collage" il me faut reclasser mes données par ordre alphabétique.
Premièrement j'avais le code suivant :
Or ce code ne fonctionne pas car il me ressort l'erreur : Erreur d'exécution 1004 Erreur définie par l'application ou par l'objet. Tout ça en me surlignant .Apply sur mon code.
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 ActiveWorkbook.Worksheets("INPUT GLOBAL").ListObjects("Input_Global"). _ Sort.SortFields.Clear ActiveWorkbook.Worksheets("INPUT GLOBAL").ListObjects("Input_Global"). _ Sort.SortFields.Add Key:=Range("Input_Global[[#All],[Security name]]"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 'With ActiveWorkbook.Worksheets("INPUT GLOBAL").ListObjects( _ Input_Global").Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply 'End With Ce code fonctionne bien sauf qu'à chaque fois il me ressortait l'erreur suivant : Erreur 1004 methode 'range' de l'objet _global a échoué En relançant la macro manuellement cela permettait de contourner l'erreur mais cela était relativement peu pratique car il fallait répéter l'opération pour chaque feuille. Suivant les conseils de certains sur ce forum j'ai donc réécrit un code qui est le suivant : Worksheets("INPUT GLOBAL").Select Rows("20:20").Select ActiveWorkbook.Worksheets("INPUT GLOBAL").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("INPUT GLOBAL").AutoFilter.Sort.SortFields.Add Key:=Range _ ("Input_Global[[#All],[Security name]]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("INPUT GLOBAL").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With
Ca fait plusieurs jours que je cherche sur le net et je n'y arrive pas et cela commence à me taper sur le système...
Merci d'avance pour votre aide !
Romain
Partager