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 :

Method ' PivotTable' for 'Object Worksheet fail [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Webmarketer
    Inscrit en
    Mars 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmarketer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2017
    Messages : 10
    Par défaut Method ' PivotTable' for 'Object Worksheet fail
    Bonjour,

    Comme vous l'aurez deviné, il y a un problème...
    C'est à dire que mon Excel, utlise un code qui "refresh" un tableau croisé dynamique via un bouton.
    Et donc, on va dire que 10 % des utilisateurs voient ce message après avoir activer la macro :
    Nom : Capture.PNG
Affichages : 327
Taille : 15,2 Ko

    Et donc 90 % dont moi, la macro fonctionne, aucuns message d'erreurs...
    J'ai déjà regardé d'autres forums sur ce type de message et fais des modifications sur le code mais rien n'a changé pour ces 10%

    Je viens donc ici demander votre aide et donc voici le code :


    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
    18
    19
    20
    Sub Brand15_Cliquer()
     
     
    Dim ws As Worksheet
    Set ws = Sheets("Select model WC RC")
        Application.Cursor = xlWait
        Application.ScreenUpdating = False
        ws.Unprotect "Cool"
    ' C'est ici que le code se met en arrêt :
        ws.PivotTables("Tableau croisé dynamique4-1").PivotCache.Refresh   
        ws.PivotTables("Tableau croisé dynamique4-2").PivotCache.Refresh
        ws.PivotTables("Tableau croisé dynamique4-3").PivotCache.Refresh
     
     
        ws.Protect "Cool", DrawingObjects:=True, Contents:=True, Scenarios:=True _
            , AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:=True
        Application.Cursor = XlDéfault
     
     
        End Sub
    Je ne peux pas vous fournir d'excel ou d'exemple je suis désolé.
    Au total j'ai 12 tableaux croisés dynamique dont 3 par feuilles.
    Hope..

  2. #2
    Membre confirmé
    Homme Profil pro
    Bénévole super actif pour association sportive
    Inscrit en
    Février 2015
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Bénévole super actif pour association sportive

    Informations forums :
    Inscription : Février 2015
    Messages : 83
    Par défaut Method ' PivotTable' for 'Object Worksheet fail Help !
    Bonjour,

    Etant donné qu'il bloque sur le premier PivotTable à mon avis c'est parce qu'il ne le trouve pas (ou qu'il a changé de nom).

    Dans le code on ne voit pas non plus de feuille active, donc il se peut que le classeur s'ouvre dans un autre onglet, et par conséquent l'objet cherché n'est pas trouvé.
    Essaie de tester ce comportement en exécutant la macro depuis une autre feuille active.

    Voilà, sans l'exemple qui bloque c'est dur d'en dire plus, mais il faudrait trouver le point commun entre vos 10% où ça ne fonctionne pas, plutôt que dans le code.
    Est-ce que tout le monde utilise la même version d'Excel (différence 32 ou 62 bits) ?

    Sinon, il faut ajouter une gestion d'erreur qui aidera progressivement au dépannage :
    On error goto XXXX

    Bonne chance,
    Poussemousse

  3. #3
    Membre habitué
    Homme Profil pro
    Webmarketer
    Inscrit en
    Mars 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmarketer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2017
    Messages : 10
    Par défaut
    Bonjour !

    Je n'ai pas réglé le problème mais je l'ai contourné :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Sub Macro5()
    '
    ' Macro5 Macro
    '
     
    '
        On Error GoTo handlerror
        Application.Cursor = xlWait
        Application.ScreenUpdating = False
        ActiveSheet.Unprotect "Cool"
     
        ThisWorkbook.RefreshAll
        ActiveSheet.PivotTables("Tableau croisé dynamique1-1").PivotCache.Refresh
        ActiveSheet.PivotTables("Tableau croisé dynamique1-2").PivotCache.Refresh
        ActiveSheet.PivotTables("Tableau croisé dynamique1-3").PivotCache.Refresh
     
                ThisWorkbook.RefreshAll
            ActiveSheet.Protect "Cool", DrawingObjects:=True, Contents:=True, Scenarios:=True _
            , AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:=True
     
        Application.Cursor = XlDéfault
     
     Exit Sub
    handlerror:
            ThisWorkbook.RefreshAll
            ActiveSheet.Protect "Cool", DrawingObjects:=True, Contents:=True, Scenarios:=True _
            , AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:=True
     
        Application.Cursor = XlDéfault
     
    End Sub
    Merci pour l'idée de "on error goto"

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

Discussions similaires

  1. [XL-2007] <Method 'Range' of object '_Global' failed> & et probleme de code de protection
    Par coco.on.off dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 19/07/2014, 09h09
  2. [Toutes versions] erreur Method 'Range' of object 'Worksheet' failed
    Par studying dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/12/2012, 16h43
  3. Method 'range' of object '_global' failed
    Par Magemax dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/05/2008, 16h10
  4. Réponses: 1
    Dernier message: 11/05/2007, 18h19
  5. method 'item' of object 'forms' failed
    Par Kloun dans le forum Access
    Réponses: 12
    Dernier message: 21/02/2007, 11h26

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