Macro TRIER

Bonjour à tous,

Dans un classeur Excel 2010, j'ai plusieurs onglets.

Chaque onglet à un tableau, tous les tableaux sont de conception identique,

SAUF sur le nombre de lignes. (Certains ont 20 lignes, d'autres ont + de 300 lignes)

Chaque tableau va de la colonne A à la colonne AH.

Ce que j'aimerai, c'est effectuer un tri à partir de la cellule A7, (début de la zone à trier pour TOUS les tableaux)

jusque la dernière ligne ÉCRITE de la colonne A et l'étendre jusque la colonne AH.

Pourquoi la dernière ligne écrite de la colonne A ?

Car dans mon tableau la colonne A représente la date, c'est donc forcément la première cellule remplie.

Ce qui n'est pas le cas de la colonne AH.

Espérant avoir été assez clair et précis, MERCI à tous ceux qui pourront m'apporter de l'aide.

Dany.

Bonjour Dany, bonjour le forum,

Si la ligne 6 contient les en-têtes du tableau, le code ci-dessous devrait convenir (non testé) :

Sub Macro1()
Dim O As Worksheet
Dim PL As Range

For Each O In Worksheets
    Set PL = O.Range("A6").CurrentRegion
    PL.Sort O.Cells(6, 1), xlAscending, Header:=xlYes
    PL = Nothing
Next O
End Sub

Bonjour ThauThème,

Non, désolé, mais ça ne fonctionne ABSOLUMENT pas.

La ligne 6 Ne contient PAS d'en-têtes,

et ma zone de tri commence à la cellule A7,

jusque la dernière ligne remplie de la colonne A et étendue jusqu'à la colonne AH.

Si ça peut éclairer ta lanterne.

Dans tous les cas MERCI de ton aide.

Dany.

Re,

Ce qui écrairerait ma lanterne c'est un fichier exemple !...

Essaie comme ça :

Sub Macro1()
Dim O As Worksheet
Dim DL As Integer
Dim PL As Range

For Each O In Worksheets
    DL = Cells(Application.Rows.Count, "A").End(xlUp).Row
    Set PL = O.Range("A7:A" & DL).Resize(, 34)
    PL.Sort O.Cells(7, 1), xlAscending, Header:=xlNo
    PL = Nothing
Next O
End Sub

Bonjour ThauThème,

Non malheureusement ça ne fonctionne toujours pas.

En fait, c'est encore la même ligne :

PL.Sort O.Cells(7, 1), xlAscending, Header:=xlNo

qui apparemment pose problème et elle est surlignée en jaune.

Merci de ton aide.

Dany.

Re,

Mon code comportait une erreur. Avec le fichier, le voici corrigé et testé :

Sub Macro1()
Dim O As Worksheet
Dim DL As Integer
Dim PL As Range

For Each O In Worksheets
    DL = O.Cells(Application.Rows.Count, 1).End(xlUp).Row
    Set PL = O.Range("A7:A" & DL).Resize(, 34)
    PL.Sort O.Cells(7, 1), xlAscending, Header:=xlNo
    Set PL = Nothing
Next O
End Sub

Bonjour et merci ThauThème pour toute la patience et la détermination dont tu fais preuve.

Malheureusement, ça ne fonctionne toujours pas.

C'est cette ligne de commande qui est surlignée en jaune.

PL.Sort O.Cells(7, 1), xlAscending, Header:=xlNo

Je suis désolé.

Merci encore.

Re,

Chez moi ça marche !... En pièce jointe ton fichier oú j'ai mis la macro [Macro1] dans le module [Module 3]. Macro que j'ai ensuite affecté au bouton TRIER de chaque onglet. Aucun plantage chez moi je ne comprends pas pourquoi ça plante chez toi.

5dany-ep-v01.xlsm (973.76 Ko)

Bonjour ThauThème,

Alors c'est complètement dingue, ta macro fonctionne PARFAITEMENT sur l'onglet " TOI "

mais pas du tout sur l'onglet " MOI ".

Voilà ce que ça me dit :

macro

Je n'y comprends vraiment rien.

Bonjour,

Salut Thauthème

Toujours plus simple de respecter les règles pour une base de données ...pas de lignes vides juste en dessous des titres ...

ni de lignes cachées ... sans aucune raison ... à part d'être vides ...

Ci-joint la version 2 à tester ...

5dany-ep-v02.xlsm (957.85 Ko)

Merci beaucoup Thauthème et James007,

Cette fois, c'est PARFAIT.

TOUT fonctionne à merveille.

Merci pour toute cette patience et opiniâtreté.

Bon dimanche à tous les deux.

Bien cordialement,

Dany.

Content que tout fonctionne ...

Cela dit ... une seule personne à remercier : ThauThème qui a fait tout le boulot ...!!!

Tout à fait James007,

et ThauThème à su de sa persévérance, son acharnement, à ne pas " lâcher le morceau "

à amener l'affaire à son terme.

Encore un GRAND MERCI.

Dany.

Bonjour le fil, bonjour le forum,

Je vous demande de vous arrêter ! C'est insupportable à la fin !...

Rechercher des sujets similaires à "macro trier"