IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

trier tableau structuré [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut trier tableau structuré
    Bonjour,

    Etant novice en VBA, je me retourne vers vous.

    J'ai une feuille qui comporte plusieurs tableaux structurés et souhaite faire une macro qui trie tous les tableaux lorsque l'on quitte cet onglet.

    J'ai réussi via l'enregistreur pour un tableau structuré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Application.Goto Reference:="T_AB"
        ActiveWorkbook.Worksheets("Param").ListObjects("T_AB").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("Param").ListObjects("T_AB").Sort.SortFields.Add Key _
            :=Range("T_AB[Funds Center]"), SortOn:=xlSortOnValues, Order:=xlAscending _
            , DataOption:=xlSortTextAsNumbers
        With ActiveWorkbook.Worksheets("Param").ListObjects("T_AB").Sort
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    J"ai commencé ce code pour l'ensemble des listobject mais... la suite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim WK As Workbook
    Dim WS As Worksheet
    Dim LO As ListObject
     
    Set WK = ThisWorkbook
    Set WS = WK.Worksheets("Param")
     
     
        For Each LO In WS
            .Sort.SortFields.Clear
        Next LO
    Merci pour votre aide.

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 574
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 574
    Par défaut
    Bonjour

    C'est un peu court jeune homme !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    For Each LO In WS.ListObjects
         LO.Sort.SortFields.Clear

  3. #3
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut
    J'avance tout doucement, mais cela coince...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Dim WK As Workbook
    Dim WS As Worksheet
    Dim LO As ListObject
     
    Set WK = ThisWorkbook
    Set WS = WK.Worksheets("Param")
     
    For Each LO In WS.ListObjects
        With LO.Sort
            .SortFields.Clear
            .SortFields.Add Key:=Range("LO"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
            .Header = xlYes
            .MatchCase = False
            .SortMethod = xlPinYin
            .Apply
        End With
    Next LO

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 574
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 574
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        With LO.Sort
            .SortFields.Clear
            .SortFields.Add Key:=LO.ListColumns("Funds Center").Range, _
             SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .Apply
        End With

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] Trier tableau deux dimensions
    Par dondano dans le forum Langage
    Réponses: 1
    Dernier message: 25/10/2006, 20h02
  2. Réponses: 6
    Dernier message: 17/02/2006, 15h07
  3. Réponses: 3
    Dernier message: 20/11/2005, 20h04
  4. Réponses: 3
    Dernier message: 14/11/2005, 11h08
  5. trier tableau dynamique
    Par prodi_64 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/10/2005, 13h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo