Tri spécifique

bruiz

XLDnaute Nouveau
bonjour,
je souhaiterais créer une macro qui me permettrait de trier uniquement les lignes remplies d'un tableau et non les lignes vides. Bien entendu le tableau est alimenté régulièrement donc je ne connais pas au départ le nombre de lignes remplies

Auriez-vous svp un moyen simple.
Merci d'avance
CDLT
 

bruiz

XLDnaute Nouveau
Re : Tri spécifique

bonjour Robert,
merci pour votre réponse.
mon pb est simple, j'incrémente un tableau excel au fil du temps et j'ai besoin d'automatiser un tri. Manuellement c'est très simple, je sélectionne toutes les lignes remplies et je trie en fonction de mes critères.
Mon tableau prévoit à peu prés 500 lignes mais je dois effectuer un tri uniquement sur les lignes remplies. Peut-on automatiser un tri uniquement sur les lignes complétées. Actuellement si je sélectionne toutes les lignes du tableau et que je fais un tri sur par exemple un nom (trié alphabétiquement) , j'ai en premier toutes les lignes vierges.
j'espère avoir été clair.
Merci pour votre aide.
cdlt
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Tri spécifique

Bonjour Bruiz, bonjour le forum,

Oui oui c'est très clair mais pour te proposer un code il faut le tester. Pour le tester il faut recréer ton environnement... Si toi tu ne daignes pas proposer un fichier exemple, moi, encore moins...
 

bruiz

XLDnaute Nouveau
Re : Tri spécifique

voici un exemple de tableau. Il s'agit d'un tableau d'inscription pour un tournoi. je souhaiterais créer une macro qui trierait par ordre alphabétique sur le nom uniquement les lignes remplies.
Merci d'avance.
CDLT
 

Pièces jointes

  • toto.xlsm
    114.6 KB · Affichages: 28
  • toto.xlsm
    114.6 KB · Affichages: 35
  • toto.xlsm
    114.6 KB · Affichages: 61

Robert

XLDnaute Barbatruc
Repose en paix
Re : Tri spécifique

Bonjour Bruiz, bonjour le forum,

Fait avec l'enregistreur de macro... Le code ci-dessous :

Code:
Sub Macro1()
    ActiveSheet.Range("$A$9:$AP$510").AutoFilter Field:=4, Criteria1:="<>"
    Range("D9").Select
    ActiveWorkbook.Worksheets("engagés").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("engagés").AutoFilter.Sort.SortFields.Add Key:= _
        Range("D10:D510"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
        :=xlSortNormal
    With ActiveWorkbook.Worksheets("engagés").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    ActiveSheet.Range("$A$9:$AP$510").AutoFilter Field:=4
End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Tri spécifique

Bonjour Bruiz, bonjour le forum,

Je n'aime pas balancer mais tout le monde le sait... L'enregistreur de macro boit ! (oui d'accord moi aussi mais là n'est pas la question...) En fait, on pourrait je pense remplacer, dans le code, la plage $A$9:$AP$510 par A9 tout simplement... À tester... A9:A9510 correspond à la CurrentRegion.
 
Dernière édition:

bruiz

XLDnaute Nouveau
Re : Tri spécifique

ok, petit hic, si je mets une ligne à blanc par exemple l'avant dans le fichier joint, la ligne a blanc reste intégrée au tri voir fichier ligne 73
 

Pièces jointes

  • toto.xlsm
    121.4 KB · Affichages: 35
  • toto.xlsm
    121.4 KB · Affichages: 34
  • toto.xlsm
    121.4 KB · Affichages: 38

Robert

XLDnaute Barbatruc
Repose en paix
Re : Tri spécifique

Bonjour Bruiz, bonjour le forum,

En effet ça ne marche pas avec cette ligne avant la fin... Je n'ai malheureusement pas de solution.
Ce que j'avais fait avec l'enregistreur, c'est juste décocher les cellules vide dans la colonne des noms, puis un tri alphabétique croissant et, pour terminer, recocher la case des cellules vides...

 

Discussions similaires

Réponses
6
Affichages
375

Statistiques des forums

Discussions
312 503
Messages
2 089 062
Membres
104 014
dernier inscrit
Aurélie MONTEIL