Récapitulatif alphabétique de plusieurs feuilles

hester

XLDnaute Junior
Bonjour,

Mon père note ses lectures par année dans des feuilles de calcul.

Il voudrait les taper au fur et à mesure dans la feuille de l'année (ex: 2009) et disposer automatiquement d'une feuille récapitulative de toutes ses lectures, classées dans l'ordre alphabétique auteur.

Malheureusement, je ne sais pas faire ça...
Je sais copier son texte dans le récapitulatif, mais pas le mettre automatiquement dans l'ordre alphabétique (si c'est possible!).

Quelqu'un peut-il m'expliquer et m'aider ?

Merci d'avance,

PS: je joins le fichier où j'ai essayé de avec l'année 2004 et 2005.
 

Pièces jointes

  • LECTURES.zip
    36.2 KB · Affichages: 41
  • LECTURES.zip
    36.2 KB · Affichages: 37
  • LECTURES.zip
    36.2 KB · Affichages: 36

Kotov

XLDnaute Impliqué
Re : Récapitulatif alphabétique de plusieurs feuilles

Bonjour Hester,

Je te joins le fichier prêt à l'emploi. Il suffit d'insérer un nouveau livre dans l'onglet de l'année correspondante, de retourner sur la recap et d'appuyer sur le bouton de tri. L'importation et le tri sont automatisés.
Si tu as besoin d'explications, n'hésites pas.

Bonne soirée
Kotov

Edit : attention toutefois à ne pas modifier les entêtes de tableau, ni de faire une insertion de lignes parmi les lignes 1 à 3
 

Pièces jointes

  • LECTURES.zip
    39.7 KB · Affichages: 49
  • LECTURES.zip
    39.7 KB · Affichages: 52
  • LECTURES.zip
    39.7 KB · Affichages: 58
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Récapitulatif alphabétique de plusieurs feuilles

Bonjour
Intéressé par la question, je viens d'ouvrir la réponse de Kotov. L'import se fait bien, mais pas le classement. Je crois que le code fait appel à des fonctionnalités d'Excel2007 qui n'existent pas dans Excel2003. Est-ce exact ?​
Merci d'avance.
ROGER2327
 

vbacrumble

XLDnaute Accro
Re : Récapitulatif alphabétique de plusieurs feuilles

Bonjour

Je confirme les propos de Roger

ActiveWorkbook.Worksheets("Récapitulatif auteur").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Récapitulatif auteur").Sort.SortFields.Add Key:= _
Range("A3"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal

(déjà sur Excel 2000, snif, snif )
EDITION: Roger, voila nos craintes définitivement fondées
Ce lien n'existe plus

Ce qui semble logique puisque nous sommes dans le forum Excel 2007 ;)
 
Dernière édition:

Zérø

XLDnaute Nouveau
Re : Récapitulatif alphabétique de plusieurs feuilles

Salut, je trouve ce tableau interessant alors je l'ai repris pour mes propres lecture mais je n'arrive pas à faire le tri automatique lorsque je clique sur le bouton, rien ne se passe.

J'avais essayer avant avec la liste deja présente et sa marchait à merveille...

Quoi qu'il faut que je fasse ? Et j'aimerais que ce soit par titre et non par auteur en final, que faut il modifier svp ?
 
Dernière édition:

gilbert_RGI

XLDnaute Barbatruc
Re : Récapitulatif alphabétique de plusieurs feuilles

Salut, je trouve ce tableau interessant alors je l'ai repris pour mes propres lecture mais je n'arrive pas à faire le tri automatique lorsque je clique sur le bouton, rien ne se passe.

J'avais essayer avant avec la liste deja présente et sa marchait à merveille...

Quoi qu'il faut que je fasse ? Et j'aimerais que ce soit par titre et non par auteur en final, que faut il modifier svp ?

Bonjour

quelques petites erreurs dans le code de Kotof

Code:
Sub TriRecap()
Dim i&, n&, z&, PlageR As Range, PlageA As Range, Sh As Worksheet, ShR As Worksheet
Set ShR = Sheets("Récapitulatif auteur")
ShR.Activate
n = ShR.Cells(65536, 1).End(xlUp).Row + 1
Set PlageR = ShR.Range(Cells(2, 1), Cells(n, 9))
PlageR.ClearContents
For i = 1 To Worksheets.Count
    Sheets(i).Activate
    If Sheets(i).Name <> ShR.Name Then
        z = Sheets(i).Cells(65536, 1).End(xlUp).Row
        n = ShR.Cells(65536, 1).End(xlUp).Row + 1
        Set PlageA = Sheets(i).Range(Cells(3, 1), Cells(z, 9))
        PlageA.Select
        PlageA.Copy Destination:=ShR.Range("A" & n)
    End If
Next i

ShR.Activate
n = ShR.Cells(65536, 1).End(xlUp).Row
Set PlageR = ShR.Range(Cells(2, 1), Cells(n, 9))
   PlageR.Select

    Range("A2").Select
    Selection.CurrentRegion.Select
    ActiveWorkbook.Worksheets("Récapitulatif auteur").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Récapitulatif auteur").Sort.SortFields.Add Key:= _
        Range("B2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Récapitulatif auteur").Sort
        .SetRange Range("A2:I" & n)
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    
End Sub
voilà le code rectifié pour un tri par titre

le fichier

Cdlt

Gilbert_RGI
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 348
Messages
2 087 508
Membres
103 568
dernier inscrit
NoS