Erreur 1004 Apply
apark
-
apark -
apark -
Bonjour,
j'essaie de faire un code qui trie les colonnes 2 par 2.
colonne i : tickers
colonne i+1 : returns
la colonne i se répète mais l'avantage de le présenter comme cela est purement visuel
l'erreur que j'obtiens est une erreur d'exécution 1004 ,
référence de tri non valide. Vérifiez qu'elle se trouve bien parmi les données à trier et que la zone à trier n'est pas identique ou vide
voici mon code
Sub essaitri()
l = Selection.End(xlDown).Row
l = l
Dim k As Integer
For k = 1 To l Step 2
Range(Cells(k, 1), Cells(k + 1, 1)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Worksheets("Feuil16").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil16").Sort.SortFields.Add Key:=Range( _
Cells(k + 1, 2), Cells(k + 1, 497)), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Feuil16").Sort
.SetRange Range(Cells(k, 1), Cells(k + 1, 497))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Next k
le programme bloque au niveau de l'avant dernière ligne "Apply"
je vous remercie d'avance pour votre aide
cdt,
j'essaie de faire un code qui trie les colonnes 2 par 2.
colonne i : tickers
colonne i+1 : returns
la colonne i se répète mais l'avantage de le présenter comme cela est purement visuel
l'erreur que j'obtiens est une erreur d'exécution 1004 ,
référence de tri non valide. Vérifiez qu'elle se trouve bien parmi les données à trier et que la zone à trier n'est pas identique ou vide
voici mon code
Sub essaitri()
l = Selection.End(xlDown).Row
l = l
Dim k As Integer
For k = 1 To l Step 2
Range(Cells(k, 1), Cells(k + 1, 1)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Worksheets("Feuil16").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil16").Sort.SortFields.Add Key:=Range( _
Cells(k + 1, 2), Cells(k + 1, 497)), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Feuil16").Sort
.SetRange Range(Cells(k, 1), Cells(k + 1, 497))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Next k
le programme bloque au niveau de l'avant dernière ligne "Apply"
je vous remercie d'avance pour votre aide
cdt,
A voir également:
- Erreur 1004 Apply
- Apply update from adb traduction - Guide
- Erreur upes 1025 - Forum Téléviseurs
- Erreur t32 ✓ - Forum Livebox
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur 0x80070643 - Accueil - Windows
2 réponses
bonsoir,
pas tout compris le code par rapport au besoin! et en plus j'ai une erreur dès
Les colonnes ont elles toujours le même nombre de lignes ?
Y a t il des entêtes de colonnes ?
le tri doit s'effectuer sur la colonne i ou i+1 ?
le tri doit être croissant ou décroissant ?
Quelle version excel ?
A+
pas tout compris le code par rapport au besoin! et en plus j'ai une erreur dès
ActiveWorkbook.Worksheets("Feuil16").Sort.SortFields.Clear
Les colonnes ont elles toujours le même nombre de lignes ?
Y a t il des entêtes de colonnes ?
le tri doit s'effectuer sur la colonne i ou i+1 ?
le tri doit être croissant ou décroissant ?
Quelle version excel ?
A+
re bonsoir
solution proposée:
quel que soit le nombre de lignes ou de colonnes, à partir de la première colonne (1) , on prends les deux colonnes (1 et 2) on fait un tri décroissant basé sur la colonne 2 puis on passe aux deux suivantes .... jusqu'aux dernières colonnes.
A vérifier sur des données sauvegardées, on ne sait jamais !!
A +
edit: réalisé sur 2003.
re edit : penser à déclarer les variables derlig et der col
et re edit : j'ai oublier de préciser le feuille . donc à adapter si pas lancer depuis la feuille à trier !!
solution proposée:
dercol = Cells(1, 1).End(xlToRight).Column
Dim k As Integer
For k = 1 To dercol Step 2
derlig = Cells(1, k).End(xlDown).Row
Range(Cells(1, k), Cells(derlig, k + 1)).Sort Key1:=Cells(1, k + 1), _
Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Next k
quel que soit le nombre de lignes ou de colonnes, à partir de la première colonne (1) , on prends les deux colonnes (1 et 2) on fait un tri décroissant basé sur la colonne 2 puis on passe aux deux suivantes .... jusqu'aux dernières colonnes.
A vérifier sur des données sauvegardées, on ne sait jamais !!
A +
edit: réalisé sur 2003.
re edit : penser à déclarer les variables derlig et der col
et re edit : j'ai oublier de préciser le feuille . donc à adapter si pas lancer depuis la feuille à trier !!
les colonnes ont toujours le même nombre de lignes
entêtes: colonne i : ticker
colonne i+1 : return
le tri s'effectue sur la colonne i+1
(on réordonne du plus grand au plus petit, il faut que les tickers en face se mettent dans le bon ordre pour correspondre au bon return)
excel 2007
merci