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 par rapport à deux colonne


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Trier par rapport à deux colonne
    Bonjour

    J'ai fait une macro pour trier par rapport à deux colonnes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Sub Tri()
        [A1].CurrentRegion.Sort _
            Key1:=[H1], Order1:=xlAscending, _
            Key2:=[A1], Order2:=xlAscending, _
            Header:=xlYes
    End Sub
    Je voudrai savoir si je peux faire le trie par rapport à un nom de colonne et non par par rapport a ça réf:
    Dans mon code j'ai mis comme premiere trie H1.Dans mon tableau en H1 il y a le nom de la colonne qui est "offer" Donc je pensai faire ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Tri()
        nbColonnes = Cells.Find("*", Range("A1"), , , xlByColumns, xlPrevious).Column  
        Dim coloffer As Integer 
        For i = 1 To nbColonnes
        If Cells(1, i).Text = "Offer" Then coloffer = i
        Next i
     
        [A1].CurrentRegion.Sort _
            Key1:=[cells(1,coloffer)], Order1:=xlAscending,
            Key2:=[A1], Order2:=xlAscending, _
            Header:=xlYes
    End Sub
    car la col Offer ne se trouve pas toujour en H.
    Merci
    Alban

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Points : 547
    Points
    547
    Par défaut
    Salut,

    Quelque chose comme ca:
    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
    Option Explicit
     
    Sub Tri()
        Dim ColOffer As Range
     
        Set ColOffer = Rows(1).Find(what:="offer", LookIn:=xlValues, LookAt:=xlWhole)
     
        If Not ColOffer Is Nothing Then
            [A1].CurrentRegion.Sort _
                Key1:=ColOffer, Order1:=xlAscending, _
                Key2:=[A1], Order2:=xlAscending, _
                Header:=xlYes
        Else
            MsgBox "La colonne 'offer' n'as pas ete trouve.", vbOKOnly + vbCritical
        End If
    End Sub

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci Minick
    ça fonctionne trés bien.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/03/2009, 14h44
  2. Réponses: 5
    Dernier message: 01/04/2008, 21h58
  3. Recherche Min par rapport à une colonne - awk
    Par samiy dans le forum Linux
    Réponses: 5
    Dernier message: 06/02/2008, 12h13
  4. Recherche dans table de BDD par rapport à deux champs
    Par kiops dans le forum Bases de données
    Réponses: 4
    Dernier message: 09/03/2007, 12h21
  5. [FLASH 8] DataGrid - tri par rapport à la colonne
    Par aldo-tlse dans le forum Flash
    Réponses: 10
    Dernier message: 02/12/2005, 16h28

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