Tri dans excel
RésoluOlivelena Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
- Tri dans excel
- Comment faire un tri personnalisé sur excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Logiciel tri photo - Guide
11 réponses
Bonjour
plages nommées dynamiquement
Tri=DECALER(CCM!$B$3;0;0;NB(CCM!$B:$B);10)
CleDate=DECALER(CCM!$D$3;0;0;NB(CCM!$B:$B);1)
CleOperation=DECALER(CCM!$E$3;0;0;NB(CCM!$B:$B);1)
Et dans le code de la procedure Classe, tu remplaces les plages en dur par celles-ci (comme tu as fait pour la plage Tri)
Je ne peux pas tester ton code, mon vieil excel 2003 ne reconnait pas certaines instructions
Une remarque au passage; dans ta colonne H par exemple en H4, la formule
=H3+F4-G4 fait appel à H3, il va y avoir un pb lorsque le tri sera fait.
Cdlmnt
Bonjour
plage en dur : Range("B4:K11086") où tu donnes l'adresse dans la feuille
après avoir renommé les plages bien sûr (c'est ce qu tu as fait pour la plage Tri un peu plus loin)
ActiveWorkbook.Worksheets("CCM").Sort.SortFields.Add2 Key:=Range("CleDate") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("CCM").Sort.SortFields.Add2 Key:=Range("CleOperation") _
Pour ton info, la plage de B3 à K3 n'intègre pas la plage nommée "Tri", donc aucune incidence pour le classement
Chez toi, la plage Tri=CCM!$B$3:$K$11089 intègre la colonne H (où il y a les formules), donc si tu veux arrêter le tri à la colonne G, il faut modifier sa définition et ne prendre que 6 colonnes au lieu de 10.
Tri =DECALER(CCM!$B$3;0;0;NB(CCM!$B:$B);6)
RQ. Pour trier, peut être simplement
Sub Trier() With Sheets("CCM") .Range("Tri").Select Selection.Sort key1:=.Range("D3"), order1:=xlAscending, _ key2:=.Range("E3"), order2:=xlAscending .Range("A1").Select End With End Sub
Cdlmnt
OK
Attention à tes lignes de début de plage
Tri=DECALER(CCM!$B$3;0;0;NB(CCM!$B:$B);10) 10 ou 6
CleDate=DECALER(CCM!$D$3;0;0;NB(CCM!$B:$B);1)
CleOperation=DECALER(CCM!$E$3;0;0;NB(CCM!$B:$B);1)
Bonne sooirée
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionBonjour,
Bravoooo et Merciiii !!! à ccm81 qui a bien analysé la situation en proposant des solutions explicites et fiables car tout fonctionne à merveille avec le code simple Sub Trier() que j'ai modifié et adapté pour que mon curseur se positionne à la fin de la colonne B une fois le code exécuté.
Encore merci ceci me facilite l'existence, depuis le temps que j'attendais cela.....
Bonne réception et bonne soirée.
Cdt
Bonjour,
Merci pour votre réponse rapide, voici le MP kiki'' avec toutes mes excuses...
Bonne réception
Cordialement
Bonjour.
Le mot de passe kiki" ne fonctionne pas ; le mot de passe kiki non plus !
Tu devrais enlever la protection toi-même, avant de nous envoyer le fichier ...
Bonjour,
Pour info les deux apostrophes sont à taper séparément à partir de la touche 4 située en haut sous et entre les touches F4 & F5.
Bonne réception
Cdt
Bonjour,
Me revoilà.
Voici l'intégralité du code actuel de la procédure "Classe":
Sub Classer()
'
' Classer Macro
' Classement croissant par dates
'
'
Application.Goto Reference:="Tri"
ActiveWorkbook.Worksheets("CCM").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("CCM").Sort.SortFields.Add2 Key:=Range("D4:D11086") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("CCM").Sort.SortFields.Add2 Key:=Range("E4:E11086") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("CCM").Sort
.SetRange Range("B4:K11086")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("B4").Select
Selection.End(xlDown).Select
ActiveWindow.SmallScroll Down:=6
End Sub
Qu'appelles-tu les plages en dur ? Peux-tu les surligner STP, merci.
A quel endroit(s) du code faut-il remplacer par les plages nommées numériquement ?
Est-il possible, afin d'éviter de perdre notre temps et toutes confusions, que tu modifies le code dans son intégralité pour moi et je le copierais et le collerais en lieu et place du code actuel, merci beaucoup.
Pour ton info, la plage de B3 à K3 n'intègre pas la plage nommée "Tri", donc aucune incidence pour le classement.
Merci encore pour ta réponse.
Bonne réception.
Cdt