trier ligne

  • Initiateur de la discussion Patrick
  • Date de début
P

Patrick

Guest
Bonsoir à tous

Je voudrai trier les lignes
dans l'ordre des n°Commandes sur toutes les feuilles à la fois.
Exemple : La commande 18600 en ligne 11 peut avoir des heures de noté sur plusieurs
semaines(feui1 feui2 feui3,jusquà feui52)
c'est pourquoi la ligne 11 de toutes les feuilles est réservé pour la commande 18600.
Donc je voudrai lors du tri que toutes les lignes 11 se déplacent ensemble pour aller en ligne 9.
(à savoir , après la feui52 une feuile récap commande caculera la somme d'heures des
commandes

Merci .

Patrick. [file name=trier_20060421223157.zip size=3445]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/trier_20060421223157.zip[/file]
 

Pièces jointes

  • trier_20060421223157.zip
    3.4 KB · Affichages: 14

Marc_du_78

XLDnaute Accro
Bonsoir Patrick,
Apparamment j'ai eu un pro de réponse.

Sub Trier()
Application.ScreenUpdating = False
Sheets('Feuil1').Select
ActiveSheet.UsedRange.Rows('8:' & ActiveSheet.UsedRange.Rows.Count).Select
Selection.Sort Key1:=Range('A9'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range('A9').Select
Sheets('Feuil2').Select
ActiveSheet.UsedRange.Rows('8:' & ActiveSheet.UsedRange.Rows.Count).Select
Selection.Sort Key1:=Range('A9'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range('A9').Select
Sheets('Feuil3').Select
ActiveSheet.UsedRange.Rows('8:' & ActiveSheet.UsedRange.Rows.Count).Select
Selection.Sort Key1:=Range('A9'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Sheets('Feuil1').Select
Range('A9').Select
Application.ScreenUpdating = True
End Sub

Bonne soirée et bon Week-end. [file name=TrierRetour_20060421231323.zip size=13168]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TrierRetour_20060421231323.zip[/file]
 

Pièces jointes

  • TrierRetour_20060421231323.zip
    12.9 KB · Affichages: 14

Marc_du_78

XLDnaute Accro
re,

Plu simple

Sub SelectionPlage()
Application.ScreenUpdating = False
ActiveSheet.UsedRange.Rows('8:' & ActiveSheet.UsedRange.Rows.Count).Select
End Sub

Sub TriDonnees()
Selection.Sort Key1:=Range('A9'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range('A9').Select
End Sub

Sub Appel()
Sheets('Feuil1').Select
Call SelectionPlage
Call TriDonnees
Sheets('Feuil2').Select
Call SelectionPlage
Call TriDonnees
Sheets('Feuil3').Select
Call SelectionPlage
Call TriDonnees
Application.ScreenUpdating = True
End Sub

au plaisir
 
P

Patrick

Guest
Bonsoir Marc_du_78

Je te remercie pour ton aide je vais essayer
d'appliquer ta formule car tu utilise une macro,
mais je n'en n'ai jamais utilisé.
si tu as la posibilitée de me donner la méthode de création de ta macro en fiche imprim écran puis en PDF creator, je t'en remercie par avance.

A bientôt

Patrick.
 

Marc_du_78

XLDnaute Accro
re Patrick,
Rassure-toi, je ne suis pas un spécialiste loins s'en faut. Pour répondre à ta question, je te joints le fichier. Si tu fais ALT+F11 en même temps, tu accèderas aux codes.
Dans Project vba, par un double clic sur les feuilles et module tu verras ces codes.
En te souhaitant un bon Week(end. [file name=TrierRetour2.zip size=12625]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TrierRetour2.zip[/file]
 

Pièces jointes

  • TrierRetour2.zip
    12.3 KB · Affichages: 10

Charly2

Nous a quittés en 2006
Repose en paix
Bonjour Patrick, re-bonjour Marc, bonjour à toutes et à tous :)

Patrick, lorsqu'on a créé un fil de discussion, on n'a pas besoin de recommencer :angry:

Tu peux aller lire la proposition de code que je t'avais faite sur ce lien : Lien supprimé.

Et puis tu pourrais également aller lire http://www.excel-downloads.com/forums/2-1-charte-du-forum-a-lire-avant-de-poster.htm


Option Explicit

' les feuilles à trier doivent être placées en premier dans le
' classeur. La constante NbFeuilles indique le nombre de
' feuilles à trier (de 1 à NbFeuilles)

Const NbFeuilles As Byte = 3
Const LigneDeb As Long = 9

Sub TriFeuilles()
'
Dim i As Byte
Dim NbLignes As Long
Dim NbCol As Integer
'
  Application.ScreenUpdating = False

  ' on trie les feuilles les unes après les autres
  For i = 1 To NbFeuilles
    With Sheets(i)
      NbLignes = .Range('A65536').End(xlUp).Row - LigneDeb + 1
      NbCol = .Cells(LigneDeb - 2, 256).End(xlToLeft).Column
      .Cells(LigneDeb, 1).Resize(NbLignes, NbCol).Sort _
                key1:=.Cells(9, 1), header:=xlNo
    End With
  Next i

  Application.ScreenUpdating = True

End Sub

Tiens-nous quand même au courant :)

PS : Marc, ça fonctionne aussi bien, voire mieux, sans Select (de feuilles et de cellules) :silly:

A+ ;)
 
P

Patrick

Guest
Bonsoir Marc_du_78

J'ai bien reçu en retour le fichier trier retour2
cela fonctionne, par contre pour éviter de resaisir à chaques fois le n° commande dans chaques feuilles je voudrai le saisir
en feuille 1 et il se mettrai automatiquement
dans toutes les autres feuilles.J'ai essayé
avec la fonction '=' mais le tri ne marche plus
correctement.
je te renvoi le fichier.

Merci à bientôt.

Patrick. [file name=TrierRetour2_20060426195413.zip size=12625]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TrierRetour2_20060426195413.zip[/file]
 

Pièces jointes

  • TrierRetour2_20060426195413.zip
    12.3 KB · Affichages: 16

Discussions similaires

Statistiques des forums

Discussions
314 422
Messages
2 109 447
Membres
110 482
dernier inscrit
ilyxxxh