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 :

La methode de la classe sort a echoue [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Par défaut La methode de la classe sort a echoue
    Bonjour,

    J'ai un range filtré qui commence en ligne 21.
    ce range est rempli par macro.
    or de temps en temps suivant le contenu, le tri ne fonctionne pas (erreur 1004 La methode de la classe sort a echoue) et je n'arrive pas à comprendre pourquoi.

    Surtout que si j'interrompts la macro et que je lance le tri dans un autre module (même syntaxe) il passe sans problème avec les même données.

    le code de tri
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     Cells.Select
        ThisWorkbook.Worksheets("Donnees").Sort.SortFields.Clear
        [A21].Sort key1:=[A21], Order1:=xlAscending, key2:=[B21], Order2:=xlAscending, key1:=[C21], Order3:=xlAscending, Header:=xlYes
    Des idées ?
    Merci
    Denis

  2. #2
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Par défaut
    J'ai trouvé mon erreur.

    Suivant le contexte ma feuille n'était plus active !
    j'ai donc rajouté une acitvation de la feuille et c'est OK.

    on oublie trop les choses simples!

  3. #3
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonsoir,
    Citation Envoyé par Denis_67 Voir le message
    Suivant le contexte ma feuille n'était plus active !
    Comme ceci, tu n'aurais pas eu de souci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With ThisWorkbook.Worksheets("Donnees")
        .Sort.SortFields.Clear
        .[A21].Sort key1:=.[A21], Order1:=xlAscending, key2:=.[B21], Order2:=xlAscending, key1:=.[C21], Order3:=xlAscending, Header:=xlYes
    End With

  4. #4
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Par défaut
    Merci,
    ainsi le With ne sert pas qu'à ne pas répéter l'objet evisé dans le code !
    mais aussi à atteindre des objets distants !

    Je vais utiliser plus et voir s'il y a d'autres limites de portées.

    Denis

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

Discussions similaires

  1. erreur 1004 methode autofilter de la classe range a echoué
    Par Hercule55 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/08/2018, 14h58
  2. Réponses: 3
    Dernier message: 09/11/2017, 14h48
  3. Erreur 1004 La methode copy de la classe Worksheet a echoué
    Par Bernard67 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 09/04/2008, 16h39
  4. [VB6]Enumérer les attributs et les méthodes d'une classe
    Par HPJ dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 04/05/2004, 18h34

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