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 :

trie sur colonne filtrée : code XL-2003 [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 103
    Par défaut trie sur colonne filtrée : code XL-2003
    Bonjour,

    Je suis très ennuyé. J'utilise XL2007, alors que mon employeur utilise XL2003.

    Ce code fonctionne très bien sous 2007. Mais pas du tout sous 2003.
    Code issu de mon amie Enregistrement Macro.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Range("AA100").Select
    ActiveWorkbook.Worksheets("Datas").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Datas").Sort.SortFields.Add Key:=Range("AA100"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
     
    With ActiveWorkbook.Worksheets("Datas").Sort
        .SetRange Range("A101:" & Cells(100 + NBLines, NBColumns).Address)
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .Apply
    End With
    Qu'est ce qui cloche sous 2003 ? serait-ce SortFields ?
    Avez-vous une solution à la fois pour XL2003 et XL2007 ?

    Merci par avance.

    ________________________

    NB la création du filtre automatique est faite dans un autre module avec le code suivant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'Création du filtre
    Range("$A$100:" & Cells(100, NBColumns).Address).Select
    Selection.AutoFilter

  2. #2
    Membre émérite
    Inscrit en
    Décembre 2006
    Messages
    897
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 897
    Par défaut Même problème...
    J'ai le même problème...

    Le code utilise de nouvelles instructions en 2007 qui ne sont pas reconnues avec les versions antérieures. J'ai même essayé le module de compatibilité qui en réalité ne fait que lire le nouveau format de fichier sans ré-interpréter les modules de code.

    Ma solution est d'enregistrer la macro en utilisant la version 2003. Elle fonctionnera correctement avec 2007.

    Mais si quelqu'un a une solution...
    Je suis preneur.

  3. #3
    Membre expérimenté
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Par défaut
    Bonjour,

    J'ai une macro qui trie un tableau et qui fonctionne sous excel 2003:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set maplage = ActiveSheet.Range(Cells(3, 1), Cells(nligne, 12))
    maplage.Select
    With Selection
        .Sort key1:=ActiveSheet.Range("A2"), order1:=xlAscending, key2:=ActiveSheet.Range("B2"), order2:=xlAscending, Header:=xlNo, Orientation:=xlSortColumns
    End With
    Key1 est la 1ère colonnes sur laquelle le trie s'effectue,order1 est le type tri Key2 la deuxième, order2 est le type de tri, header = (xlno, xlyes ou xlguess) le plus simple est de mettre xlno et de selectionner le tableau sans les en têtes, orientation: xlsortcolumns ou xlsortrows, en colonne ou en ligne

    Si c'est pour un filtre c'est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Selection.AutoFilter
    Selection.AutoFilter Field:=8, Criteria1:="N° Affaire"
    Ici j'ai selectionné tout mon tableau, j'active le filtre et ensuite je filtre la colonne 8 et je cherche les case contenant "N° Affaire"

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 103
    Par défaut


    MERCI,

    La différence, c'est .Sort ou .Range.


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

Discussions similaires

  1. Filtre sur colonne
    Par splog dans le forum Excel
    Réponses: 3
    Dernier message: 31/03/2009, 21h32
  2. code repeter--->une seul code, valeur sur colonne
    Par Jacobian dans le forum Excel
    Réponses: 6
    Dernier message: 09/04/2008, 19h16
  3. Filtre sur colonne
    Par Zabriskir dans le forum IHM
    Réponses: 0
    Dernier message: 05/02/2008, 09h12
  4. [Excel]trie sur colonne calculée
    Par pinocchio dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/02/2007, 15h45
  5. doublon et trie sur autre colonne
    Par Force59 dans le forum Requêtes
    Réponses: 10
    Dernier message: 01/04/2004, 09h02

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