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 :

Macro sous Excel 2003 fonctionne pas sous Excel 2007 pourquoi


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 114
    Points : 42
    Points
    42
    Par défaut Macro sous Excel 2003 fonctionne pas sous Excel 2007 pourquoi
    La macro fonctionne sur mon ordinateur avec la version de excel 2003 mais ne fonctionne pas avec d'autre version plus récente. Pourquoi?

    La macro génère un tableau croisé dynamique.

    Voici ma portion de code qui génère le TCD.
    Code :
    Sélectionner tout - Visualiser dans une fenêtre à part

    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
    17
    ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
            PivotTables("Tableau croisé dynamique1").PivotFields("Quote"), _
            "Nombre de Billed", xlCount
        ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
            PivotTables("Tableau croisé dynamique1").PivotFields("Billed"), _
            "Nombre de Quote", xlCount
     
        Range("B13").Select
        ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
            "Nombre de Quote").Function = xlSum
        ActiveWorkbook.ShowPivotTableFieldList = False
     
        Range("B13").Select
        With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
            "Somme de Quote")
            .NumberFormat = "# ##0,00\ [$€-1]"
        End With
    Ça plante toujours dans cette partie du code
    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Range("B13").Select
        With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
            "Somme de Quote")
            .NumberFormat = "# ##0,00\ [$€-1]"
        End With


    Merci d'avance

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Bonjour,

    Il y a des différences entre les TCD d'avant et après XL2007. Mais normalement, ton code devrait fonctionner. Tu peux toutefois utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
            PivotTables("Tableau croisé dynamique1").PivotFields("Quote"), _
            "Nombre de Billed", xlCount
        ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
            PivotTables("Tableau croisé dynamique1").PivotFields("Billed"), _
            "Somme de Quote", xlSum
     
        Range("B13").Select
        ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
            "Somme de Quote").NumberFormat = "# ##0,00\ [$€-1]"
        ActiveWorkbook.ShowPivotTableFieldList = False

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 114
    Points : 42
    Points
    42
    Par défaut
    Est-ce que je remplace tout le code par ce que tu me propose ou est-ce que je place cette modification quelque part dans mon code?

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Tu remplaces tout le code que tu as posté par le mien.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 114
    Points : 42
    Points
    42
    Par défaut
    Pour le moment ça fonctionne sur Excel 2003. Je vais faire des tests pour Excel 2007 et je te reviens avec les résultats.

Discussions similaires

  1. [XL-2003] Macro qui ne Fonctionne PAS sur Excel 2003 mais Fonctionne sur Excel 2010
    Par CedResma34 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/01/2014, 10h05
  2. Réponses: 4
    Dernier message: 21/10/2010, 17h12
  3. Réponses: 2
    Dernier message: 18/06/2009, 11h15
  4. Réponses: 10
    Dernier message: 17/02/2009, 15h51
  5. Réponses: 6
    Dernier message: 30/05/2008, 17h03

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