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 :

Probleme PivotItems VBA [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut Probleme PivotItems VBA
    Bonjour à tous,

    Je rencontre un problème concernant cette ligne de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    With ActiveSheet.PivotTables("Tableau1").PivotFields("Ech, F,")
            .PivotItems("10/05/2014").Visible = False
    Le format "date" est la raison de ce soucis. Ne sachant pas comment contourner ce problème, je me permets de vous écrire ce post.
    Message d'erreur : 'Impossible de lire la propriété PivotItems de la classe PivotFields'

    Cdt,

    T

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    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 208
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .PivotItems(Format("10/05/2014", "m/d/yyyy")).Visible = False

  3. #3
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Merci beaucoup. Malheureusement j'ai essayé avec ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     With ActiveSheet.PivotTables("Tableau1").PivotFields("Ech, F,")
            .PivotItems(Format("01/05/2014", "dd/mm/yyyy")).Visible = False
    Toujours pas. Même erreur.

    J'ai oublié une petite précision, mon code fonctionnait sous excel 2003.
    Je viens de trouver que ce serait surement un bug sous excel 2007/2010. A confirmer...

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    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 208
    Par défaut
    Retranscris le format comme je l'ai mis : "m/d/yyyy". Par la même occasion, tu as changé la date.

  5. #5
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    J'ai mis ce code avec l'actualisation de mon TCD pour avoir une date de type "10/05/2014 " Daniel mais de même une erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    With ActiveSheet.PivotTables("Tableau1").PivotFields("Ech, F,")
            .PivotItems(Format("10/05/2014", "m/d/yyyy")).Visible = False

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    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 208
    Par défaut
    Oui, au fait, c'est quoi, l'erreur, précisément ? Tu as bien vérifié qu'il y a au moins un item de visible ? Est-ce que ta macro a été écrite pour un classeur au format xls ? Regarde le classeur joint et teste les boutons.
    Fichiers attachés Fichiers attachés

  7. #7
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Alors effectivement Daniel au départ mon TCD a été créé pour un .xls => mon code fonctionnait parfaitement.

    Maintenant que j'ai basculé sur .xlsx ça ne fonctionne plus.

    L'erreur est la même que sur ton fichier envoyé.

    Enfin oui j'ai bien vérifié que tous les items sont visibles.

    Tu crois que c'est parce que mon fichier est toujours en .xls?

  8. #8
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    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 208
    Par défaut
    Tu crois que c'est parce que mon fichier est toujours en .xls?
    Je ne sais pas... J'ai créé le mien au format xlsm et tu as le même problème. Est-ce que tu pourrais mettre en PJ un classeur exemple ?

  9. #9
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    désolé pour le temps j'ai du recréer un classeur, et j'obtiens le même problème. Je suis plûtot rassuré sur ce côté.
    Fichiers attachés Fichiers attachés

  10. #10
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    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 208
    Par défaut
    Pfff... je dors cette après-midi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .PivotItems(Format(CDate("10/05/2013"), "m/d/yyyy")).Visible = False

  11. #11
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    je suis désolé mais encore la même erreur. Test le dans le fichier que je t'ai envoyé mais perso cela ne fonctionne pas

  12. #12
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    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 208
    Par défaut
    Tu peux bien sûr écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .PivotItems("5/10/2013").Visible = False
    mais tu veux sans doute passer la date en paramètre ?

  13. #13
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Non rien ne fonctionne Daniel je t'assure. As tu vu que je t'ai mis en PJ un fichier?

    je veux pouvoir désélectionner plusieurs dates pour pouvoir faire des calculs automatique après.
    Fichiers attachés Fichiers attachés

  14. #14
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    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 208
    Par défaut
    Tu as raison, et moi aussi. Ca plante avec Excel 2010 et ça passe avec Excel 2013 (avec lequel je teste). On y retourne...

  15. #15
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    j'ai cherché toute l'aprem je pense que c'est un bug tout simplement d'excel 2010

  16. #16
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    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 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .PivotItems("5/10/2013").Visible = False
    fonctionne.

  17. #17
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Désolé pour ma réponse tardive.
    Cependant je suis navré mais sur mon excel que je t'ai envoyé ce code me met toujours la même erreur.

  18. #18
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    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 208
    Par défaut
    Oups, j'avais bidouillé dans ton classeur le code suivant fonctionne en partant de ton classeur d'origine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        With ActiveSheet.PivotTables("Tableau1").PivotFields("Ech, F,")
            For Each Pi In .PivotItems
                Pi.Name = Pi.SourceNameStandard
            Next Pi
            .PivotItems("5/10/2013").Visible = False
        End With
    La boucle ne doit être faite qu'une fois, le temps de convertir les dates au format US.

  19. #19
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    ça fonctionne parfaitement. Je comprends pas trop pourquoi le format FR n'est pas pris en compte mais cela me permet de continuer.

    Un grand merci et bon courage pour la suite,

    Cordialement,

    T

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

Discussions similaires

  1. Probleme en VBA Excel : supprimer une ligne doublante
    Par yanly dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/07/2007, 13h54
  2. [VBA-E]Probleme macro VBA excel 2000 2003
    Par skichatchat dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/04/2007, 21h16
  3. Probleme Langage VBA
    Par nassu dans le forum Access
    Réponses: 21
    Dernier message: 20/05/2006, 09h53
  4. Probleme code vba
    Par alex38 dans le forum Access
    Réponses: 6
    Dernier message: 18/04/2006, 12h10
  5. probleme code vba ne s'execute pas apres instruction sql
    Par arnogef dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 29/12/2005, 12h34

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