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 :

erreur 1004


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 31
    Par défaut erreur 1004
    Bonjour,
    Une macro vba qui fonctionnait très bien en Exel 2003. En excel 2010, je récupère une erreur 1004 sur la ligne subtotal.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       Range("A2").Select
        Selection.AutoFilter
        Selection.Sort Key1:=Range("M1"), Order1:=xlAscending, Header:=xlYes
        Selection.Subtotal GroupBy:=13, Function:=xlSum, TotalList:=Array(28)
    Y a t il une raison particulière propre à 2010 ?
    Comme vous le voyez, j'ai réduit la fonction aux attributs obligatoires, mais rien n'y fait...

    Claude.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour Clodius

    Si tu ne testes pas si ton filtre automatique est activé ou non,
    une fois sur 2 tu auras le problème, mais ça ne vient peut-être pas de là !?

    Essaye peut-être comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With Range("A2")
      If Not ActiveSheet.AutoFilterMode Then .AutoFilter
      .Sort Key1:=Range("M1"), Order1:=xlAscending, Header:=xlYes
      .Subtotal GroupBy:=13, Function:=xlSum, TotalList:=Array(28)
    End With
    A+

  3. #3
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 31
    Par défaut Pas d'amélioration
    Merci pour ce conseil mais ça n'a aucun effet. Est ce que xl 2010 n'a pas de nouvelles exigences avec ses fonctions ? y a t il des déclarations à faire, des bibliothèques à activer ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re,

    Après test, la seule ligne qui peut poser problème est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Subtotal GroupBy:=13, Function:=xlSum, TotalList:=Array(28)
    Le reste fonctionne

    Ne pas oublier "l'enregistreur de macro" pour faire ce que l'on souhaite et voir le code créé après

    A+

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonjour,

    Sous Excel2010, des fonctions de tri sont intégrés aux filtres automatique.
    Sinon comme le dit BrunoM45 surveille la taille de l'Array passé à la fonction Subtotal.

    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
    Sub CreateSubTotal()
        If ActiveSheet.AutoFilterMode Then Range("A1").AutoFilter
        With ActiveSheet.Range("A1").CurrentRegion
            .RemoveSubtotal
            .AutoFilter
            With ActiveSheet.AutoFilter.Sort
                .Header = xlYes
                .SortFields.Add Key:=Range("M1:M" & Range("M2").End(xlDown).Row), SortOn:=xlSortOnValues, _
                             Order:=xlAscending, DataOption:=xlSortNormal
                .Apply
            End With
     
            .Subtotal GroupBy:=13, Function:=xlSum, TotalList:=Array(.Rows.Count)
        End With
    End Sub

  6. #6
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 31
    Par défaut Piste
    Bonjour,

    Merci pour vos interventions, mais je pense avoir localisé le problème : dès que je charge le fichier à travailler, la fonction subtotal est désactivée (Bouton sous-total dans le ruban "Données" reste grisé). C'est un tableau croisé dynamique et lorsque je le déplie, la feuille avec le tableau des données récupérées reste avec cette fonction désactivée.
    Savez vous pourquoi et comment y remédier ?

  7. #7
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 31
    Par défaut solution en vue
    Bonjour,
    J'ai compris que je travaillais sur des données issues d'un TCD, il s'agit dont d'un tableau microsoft pour lequel la fonction n'est pas active. Manuellement, il suffit de le convertir en plaged e données normale. Seulement voilà, lorsque j'essaie d'enregistrer cette manip dans une macro, elle est....vide !
    Comment fait-on en vba pour convertir un tableau en données ? (je n'avais pas ce problème en 2003 est ce une nouveauté (piegeuse) de 2010 ?

Discussions similaires

  1. pb Range: erreur 1004
    Par charlie105 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/11/2006, 17h10
  2. [VB-E] Erreur 1004 dans une boucle For
    Par lycaon dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 02/11/2006, 22h41
  3. [VBA][EXCEL]Erreur '1004' avec "Application.Run"
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/01/2006, 10h50
  4. [Excel] Erreur 1004 avec un search
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/12/2005, 13h54
  5. Insérer une image : Erreur 1004
    Par dp_favresa dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 26/10/2005, 14h01

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