trier en VBA

L

LAURA15

Guest
Je voudrais trier des données que j'ai importées d'access
Le nombre de colonne est fixe mais pas le nombre de lignes
Les colonnes vont de A a O
Le premier critère de tri doit etre la conne B qui est la date et le 2eme critère doit etre la colonne B
Ce tri ne doit ce faire que sur la 1ère feuille appelée BASE_RECETTES
J'ai fait ca mais bon snif ca ne fonctionne pas

Sub Tri_Date_Recettes()
Range('A6').Select
Range(ActiveCell, ActiveCell.End(xlDown)).Select
Selection.Sort Key1:=Range('B6'), Order1:=xlAscending, Key2:=Range( 'A6'), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal
End Sub



La dernière partie a été fait d'après une macro j'ai certainement mis trop de critère en gros si on veut trier
par exemple avec 2 critères la en l'occurence Collone B puis A en ordre
croissant que doit 'on mettre ?
Merci
 

Bebere

XLDnaute Barbatruc
bonsoir Laura

Sub Tri_Date_Recettes()
Range('A6').Select
si base de données avec entêtes ligne qui suit superflue
'Range(ActiveCell, ActiveCell.End(xlDown)).Select

Selection.Sort Key1:=Range('B6'), Order1:=xlAscending, Key2:=Range('A6'), Order2:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase _
:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal
End Sub
 
L

LAURA15

Guest
merci super
Effectivement en ce qui me concerne ca fonctionne si je ne met PAS
Range(ActiveCell, ActiveCell.End(xlDown)).Select

Comme tu le dis avec cette phrase
si base de données avec entêtes ligne qui suit superflue
'Range(ActiveCell, ActiveCell.End(xlDown)).Select

Mais je ne comprends pas la notion d'entetes pourquoi si entetes ?
J'ai bien la ligne 4 en entetes ou j'ai mis mes libelles de colonnes mais je ne vois pas comment excel peut le savoir ?

Il m'espionne ou quoi :)

Pourrais tu me dire dasn quel cas il faut mettre cette ligne
car avant j'avais fait le tri sur une plage fixe et avec cette ligne ca fonctionnait ca me parassait normal de mettre ca

Sub CTri_Date_Recettes()
Range('A6').Select
Range('BASE_RECETTES!A6:O10000').Select

'Range(ActiveCell, ActiveCell.End(xlDown)).Select
Selection.Sort Key1:=Range('B6'), Order1:=xlAscending, Key2:=Range( _
'A6'), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _
:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal
End Sub
 

Bebere

XLDnaute Barbatruc
re
une base de données est constituée d'une première ligne qui contient
les noms des champs(entête),ensuite tu as les données
donne à cette ligne un format(ex:gras,centré,etc)
tu veux faire un tri tu mets le curseur sur cette ligne
excel ne demandera pas d'étendre la sélection,il le fera de lui même
c'est ce qui est appliqué dans le code
à bientôt
 

Discussions similaires

Réponses
3
Affichages
658

Statistiques des forums

Discussions
312 895
Messages
2 093 384
Membres
105 714
dernier inscrit
POKITO