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 :

Triage de tableau VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif Avatar de coco1397
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2016
    Messages : 58
    Par défaut Triage de tableau VBA
    Bonjour,

    Je suis un peu débutant en VBA. J'ai besoin de votre aide.

    J'aimerais faire un tri sur un tableau que j'ai sur une feuille Excel. Il faudrait que je l'applique sur une variable existante !

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim k As Integer
    k = 23
    tableau.Sort.SortFields.Add tableau("Colonne 3").Range, SortOn:=k
    tableau.Sort.Apply
    Est-ce que quelqu'un peut-il m'aider ?
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonjour,
    il faut que tu redéfinisses ton poste, car sur le forum de VB.net tu parle de VBA, ce qui explique le transfère chez nous!

    mais concrètement ton code fait référence à VB.net! il sera difficile pour l'un et l'autre des forum de te répondre , si il subsiste le moindre mélange de genre!

  3. #3
    Invité
    Invité(e)
    Par défaut
    Ok déjà tu viens de répondre à ma question!

  4. #4
    Membre actif Avatar de coco1397
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2016
    Messages : 58
    Par défaut
    Alors c'est tout bon, j'ai pu résoudre mon problème.

    C'est vrai que l'enregistreur de Macro est troooop bien et que j'avais oublié son existence

    Merci beaucoup

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Citation Envoyé par coco1397 Voir le message
    C'est vrai que l'enregistreur de Macro est troooop bien
    Merci beaucoup
    "Trop" est l'ennemi du bien. "Très" est son ami.

  6. #6
    Invité
    Invité(e)
    Par défaut
    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
    Sub test()
    With ActiveWorkbook.Worksheets("Membres")
        .Sort.SortFields. _
            Clear
        With .ListObjects("TabMembres").Sort
            .SortFields. _
            Add Key:=Range("TabMembres[[#All],[Sans la première]]"), SortOn:= _
            xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With
    End Sub

  7. #7
    Invité
    Invité(e)
    Par défaut
    Oui l'enregistreur de macros demande d’être retravaillé après pour enlever e superflu!

  8. #8
    Membre actif Avatar de coco1397
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2016
    Messages : 58
    Par défaut
    C'est pour ça qu'il a déjà réussi à ce que je voulais faire, c'est déjà ça

  9. #9
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    quel est le type de ta variable tableau ?

    ton tableau sur la feuille de calcul, est-ce une "bête" plage de cellules ou un vrai tableau structuré crée via le menu insertion >> Tableau (qui est un vrai objet manipulable en VBA, c'est l'objet ListObject)

    en utilisant l'enregistreur de macro, tu vas avoir un code presque complet pour faire le tri.
    La seule chose qu'il faudra modifier, c'est le Range qui sera capturé par l'enregistreur de macro

    Si tu n'arrives pas adapter, reviens avec ce que t'as fourni l'enregistreur

  10. #10
    Membre actif Avatar de coco1397
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2016
    Messages : 58
    Par défaut
    Citation Envoyé par joe.levrai Voir le message
    Bonjour,

    quel est le type de ta variable tableau ?

    ton tableau sur la feuille de calcul, est-ce une "bête" plage de cellules ou un vrai tableau structuré crée via le menu insertion >> Tableau (qui est un vrai objet manipulable en VBA, c'est l'objet ListObject)

    en utilisant l'enregistreur de macro, tu vas avoir un code presque complet pour faire le tri.
    La seule chose qu'il faudra modifier, c'est le Range qui sera capturé par l'enregistreur de macro

    Si tu n'arrives pas adapter, reviens avec ce que t'as fourni l'enregistreur

    Elle est de type ListObject. Je la déclare comme ceci :
    Et la reprend comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set tableau = feuille.ListObjects(TABLEAU_DANS_FEUILLE)
    Ensuite, avec l'enregistreur de Macro, je suis arrivée à ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ActiveWorkbook.Worksheets("Membres").ListObjects("TabMembres").Sort.SortFields. _
            Clear
        ActiveWorkbook.Worksheets("Membres").ListObjects("TabMembres").Sort.SortFields. _
            Add Key:=Range("TabMembres[[#All],[Sans la première]]"), SortOn:= _
            xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("Membres").ListObjects("TabMembres").Sort
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    Je vais regarder ce que ça me donne en réadaptant un peu à mon code et je reviens par la

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

Discussions similaires

  1. récupérer les indices d'un tableau après le triage
    Par M77ATTAR dans le forum Débuter
    Réponses: 6
    Dernier message: 05/12/2012, 00h24
  2. [PHP 5.0] Triage de tableau et bug dans mail
    Par stomerfull dans le forum Langage
    Réponses: 4
    Dernier message: 26/07/2011, 15h59
  3. Réponses: 0
    Dernier message: 25/05/2010, 01h43
  4. [XL-2007] triage d'une date vers un tableau
    Par Frère Débutant dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 29/09/2009, 17h26
  5. aide sur triage d'un tableau
    Par phoenixia dans le forum MFC
    Réponses: 1
    Dernier message: 21/05/2006, 09h47

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