trier des lignes en fonction de feuille

blackjack

XLDnaute Occasionnel
Bonjour tout le monde,

Voilà un problème tout simple (mais pas pour moi en tout cas)

1) des feuilles nommées que l'on doit trier par ordre alpha
2) un tableau récapitulatif ou chaque ligne représente une feuille et la première cellule reprend le nom de la feuille

Si je déplace ou trie des feuilles les données sur le récap sont bien déplacées aussi, mais pas la première cellule qui reste figée donc sur le tableau récap, je voudrais lier la première cellule à la ligne entière.

J'espère être assez clair (??:rolleyes: )

Merci à tous
 

wilfried_42

XLDnaute Barbatruc
Re : trier des lignes en fonction de feuille

re:

le probleme c'est qu'excel 97, je ne connais pas,

mais tu dois avoir un enregistreur de macro, enrgistre une macro de TRI et regarde la difference entre les deux lignes, corrige en consequence
 
Dernière édition:

LABUCHE

XLDnaute Junior
Re : trier des lignes en fonction de feuille

salut blackjack, salut wilfried_42

le code de wilfried_42 marche tres bien chez moi
j'ai lu que tu as supprimé DataOption1:=xlSortNormal
mais as tu aussi supprimé ,_ de la ligne de dessus ??????
Fais un copier coller du code
Code:
Sub tri_feuilles()
    Dim nbf As Integer, i As Integer, j As Integer
    nbf = Sheets.Count - 12
    For i = 2 To nbf
        nom = Sheets(i).Name
        For j = i - 1 To 1 Step -1
            If nom < Sheets(j).Name Then
                Sheets(nom).Move before:=Sheets(j)
            End If
        Next j
    Next i
    For i = Sheets.Count - 12 To Sheets.Count
        Sheets(i).Select
        Range("A4:BI" & CStr(Sheets(i).Range("A65000").End(xlUp).Row)).Select
        Selection.Sort Key1:=Range("A4"), Order1:=xlAscending, Header:=xlYes, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    Next i
End Sub
et donne nous des nouvelles
 

blackjack

XLDnaute Occasionnel
Re : trier des lignes en fonction de feuille

Merci LABUCHE,
Absent quelques jours je viens de prendre conaissance de ton info

J'avais essayé plusieurs versions il est possible que sans faire attention j'ai pu enlever le _ à un moment

Mais j'avoue que je rame en programmation

Je teste le code et je vous tiens au courant

Merci
jack
 

blackjack

XLDnaute Occasionnel
Re : trier des lignes en fonction de feuille

ça marche presque ;)
seul les lignes de la feuille janvier ne sont pas triés
Et comment ne pas avoir les feuilles selectionnées ( noire) après le tri.
J'évite de bricoler le code :)

Merci les amis
 

wilfried_42

XLDnaute Barbatruc
Re : trier des lignes en fonction de feuille

rebonjour à tous

blackjack à dit:
ça marche presque ;)
seul les lignes de la feuille janvier ne sont pas triés
Et comment ne pas avoir les feuilles selectionnées ( noire) après le tri.
J'évite de bricoler le code :)

Merci les amis

apres toutes ces peripéties que j'ai suivies, je ne sais plus sur quel code tu travailles

m'enfin si c'est le mien
Sub tri_feuilles()
Dim nbf As Integer, i As Integer, j As Integer
nbf = Sheets.Count - 12
For i = 2 To nbf
nom = Sheets(i).Name
For j = i - 1 To 1 Step -1
If nom < Sheets(j).Name Then
Sheets(nom).Move before:=Sheets(j)
End If
Next j
Next i
For i = Sheets.Count - 12 To Sheets.Count
Sheets(i).Select
Range("A4:BI" & CStr(Sheets(i).Range("A65000").End(xlUp).Row)).Select
Selection.Sort Key1:=Range("A4"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").select
Next i
End Sub
en Rouge, facon de retirer les pages noires

sinon, si c'est toujours mas macro, les mois de janvier à decembre, doivent etre les 12 dernieres feuilles
 
C

Compte Supprimé 979

Guest
Re : trier des lignes en fonction de feuille

Bonjour à tous, Salut Wilfried,

Si je peux me permettre il y'a quelques erreurs dans le code.
Puisque BlackJack est en Excel 97, jusqu'à 2000 d'ailleurs il faut absolument supprimer le DataOption1 sinon ça bug !

Sinon rien à dire sur le : Range("A1").select

Par contre dans le code, il faut remplacer :
Code:
For i = Sheets.Count - 12 To Sheets.Count
Par :
Code:
For i = Sheets.Count - [COLOR=blue][B]11[/B][/COLOR] To Sheets.Count
Sinon on tri la feuille "c"

Ensuite :
Code:
Range("A4:BI" & CStr(Sheets(i).Range("A65000").End(xlUp).Row)).Select
Est à remplacer par :
Code:
Range("A[COLOR=blue][B]3[/B][/COLOR]:BI" & [COLOR=blue][B]ActiveSheet.Range[/B][/COLOR]("A65000").End(xlUp).Row).Select

Voilà BlackJack, avec l'aide de Wilfried et mon oeil de lynx :D
ca devrait tourner 2 pécable

A+
 

blackjack

XLDnaute Occasionnel
Re : trier des lignes en fonction de feuille

Cela fonctionne avec le code de Labuche
toujours un bug avec le tien wilfried même avec les modif de Bruno :(

Je vous joins le fichier qui fonctionne

Maintenant il ne me reste plus qu'a créer une macro qui déclenchera la macro 1 ( celle qui se déclenche avec le bouton valider) sur toutes les feuilles - 12 bien sur ce qui permettra de replacer les infos de toutes les feuilles a, b , c dans les bonnes cases des feuilles mois

j'ai essayé plein de possibilité rien à faire

je pense qu'il y a une astuce toute simple mais evidemment je ne la trouve pas :mad:

Encore merci de vous intérresser à mon problème

jack
 

blackjack

XLDnaute Occasionnel
Re : trier des lignes en fonction de feuille

blackjack à dit:
Marche plus :mad:

mince tout fonctionnait mis à part la macro à enchainer sur les feuilles


effectivement le code de Wilfried arrangé par tes soins triait même les lignes des mois mais buggait toujours au même endroit "DataOption1:=xlSortNormal"

Je commence à y perdre mon latin!!!!
 

Discussions similaires

Statistiques des forums

Discussions
312 185
Messages
2 086 012
Membres
103 093
dernier inscrit
Molinari