Trier un tableau excel

mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   -  
mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai actuellement un tableau (a1:f50).Avec une macro, je voudrais faire un tri sur la colonne "D". Pas de souci pour le moment, sauf que si je rajoute des lignes, la macro n'est plus complète car les ligne après 50 ne sont plus prises en compte. Voici ma macro
Range("A1:F50").Select
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("D2:D50") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("A1:F50")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Merci de m'aider SVP

4 réponses

  1. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    En debut de macro tu rajoutes ces lignes
    Dim Ligne As Long
    Ligne = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row

    Ligne va donner le n° de la dernière ligne remplie en colonne A

    Ensuite pour chaque instruction de Range de ta macro tu l'écris comme suit :
    Range("A1:F" & Ligne)

    Cdlmnt
    Via
    0
  2. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
     
    merci Via
    Deux questions?
    Le tri se fait bien sur ma colonnes F, Que dois-je faire si pour trier sur la colonne D par exemple.
    Enfin ma macro bug sur : .apply, pourquoi?
    merci à nouveau pour ton concours qui me dépanne beaucoup.
    Cdlt
    0
  3. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Re

    C'est cette ligne de macro qui trie et elle trie sur D !! pas sur F
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("D2:D50") _
    , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

    Je ne peut deviner le bug, il faut poster un exemple de ton fichier sur mon partage.fr; faire créer un lien, le copier et revenir le coller ici

    Cdlmnt
    Via

    0
  4. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
     
    merci pour ton aide, cela m'aide beaucoup. Bonne semaine
    0