Microsoft 365 Erreur 91lors de l'exécution de la macro

Phil kads

XLDnaute Nouveau
Bonjour à tous, je suis entrain de créer un fichier excel de suivi de ventes par secteurs et par chargées d'affaires;
ma première feuille est une extraction du système (SAP) sur laquelle j'applique un TDC pour obtenir mes différentes secteurs.
ensuite j'ai ajouté une feuille que je nomme tableau de bord et la pluspart des éléments de cette feuille ont comme source mes différents TDC.
Enfin j'ai crée une macro afin de pouvoir permettre l'actualisation des données dans les TDc et surr le tableau de bord. Mais lors d'éxcecution de la macro, on me notifie de l'erreur 91; quelqu'un peut-il m'aider?
 
C

Compte Supprimé 979

Guest
Bonjour Phil Kads,

Sans nous donner le code et la ligne ou cela se produit, ça va être compliqué de vous aider 🤔

Ceci dit, l'erreur 91 c'est variable objet ou variable de bloc with non définie

A+
 

Phil kads

XLDnaute Nouveau
Bonjour Bruno, ci-dessous la capture :

1682679842804.png
 

Phil kads

XLDnaute Nouveau
Re,
Sur le forum on joint le code au format texte et mis entre balises grâce au bouton </>
Merci de le faire correctement SVP
Code:
Sub Macro3()
'
' Macro3 Macro
'

'
    Sheets("RESEAU").Select
    Range("B3").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("LUBRIFIANT RESEAU").Select
    Range("B2").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("AVIATION Client").Select
    Range("C2").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("AVIATION").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotSelect _
        "'Centre de profit'[All] '50' 'Secteur d''activité'['20']", xlDataAndLabel, _
        True
    Range("C2").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("CG HMINES CLIENT").Select
    Range("B1").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("CG HMINE").Select
    Range("B2").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("CG MINES CLIENT").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("CG MINES").Select
    Range("B2").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("LUBRIFIANT client").Select
    Range("B3").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("LUBRIFIANT HR").Select
    Range("B2").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("TABLEAU DE BORD").Select
    ActiveWindow.SmallScroll Down:=2
    ActiveSheet.ChartObjects("Graphique 1").Activate
    ActiveSheet.ChartObjects("Graphique 1").Activate
    ActiveChart.PivotLayout.PivotTable.PivotCache.REFRESH
    ActiveChart.ChartArea.Select
    ActiveChart.PivotLayout.PivotTable.PivotCache.REFRESH
    ActiveSheet.ChartObjects("Graphique 5").Activate
    ActiveSheet.ChartObjects("Graphique 5").Activate
    ActiveWindow.SmallScroll Down:=0
    ActiveSheet.Shapes.Range(Array("Année 3")).Select
    ActiveWorkbook.SlicerCaches("Segment_Année1").PivotTables(1).PivotCache.REFRESH
    ActiveSheet.Shapes.Range(Array("Mois 3")).Select
    ActiveWorkbook.SlicerCaches("Segment_Mois11").PivotTables(1).PivotCache.REFRESH
End Sub
 

vgendron

XLDnaute Barbatruc
@Phil kads , bonjour

comme tu es nouveau sur ce forum, je ne vais pas m'énerver :)

Quand tu postes, il faut essayer de te mettre à la place de celles et ceux qui regardent ton message et te poser la question: est ce que avec les infos données, on peut comprendre et m'aider

ici, clairement la réponse est non
1) poster une image ne sert à rien puisqu'on ne peut rien en faire à part la regarder
==> d'ou il est préférable de poster directement le code (entre balises car c'est plus facile à lire et ca évite la transformation hasardeuse de certaines combinaison de caractère en smiley par exemple==> bref.. c'est plus propre

2) ensuite tu dis avoir un message d'erreur: en général la macro s'arrête, et la ligne qui pose problème est surlignée en jaune==> il faudrait donc que tu nous dises laquelle

3) et le top du top (qu'on finit toujours par demander en fait) c'est d'avoir le fichier (anonymisé) pour qu'on puisse constater et reproduire le bug et ensuite faire des tests
typiquement ici; avec tous les activates et select que tu as: il y a de fortes chances qu'un élément (nom de feuille ou de graphique ou autre) n'existe pas dans le classeur ou est mal écrit

Voila, avec ca, tu as tous les éléments importants pour avoir très rapidement des réponses à ton problème
 

vgendron

XLDnaute Barbatruc
et pour aller un peu plus loin et te donner une piste

j'ai du mal à croire que sur plusieurs feuilles différentes, tu as un TCD qui s'appelle à chaque fois
"Tableau Croisé Dynamique 2"
j'ai du mal à croire = je ne sais pas si on peut nommer plusieurs TCD avec le même nom (jamais essayé)

je pense que tu as créé ta macro avec l'enregistreur de macro (+10 points) pour mettre à jour le TCD de la première feuille
Mais que tu as fait un copier coller pour les autres feuilles: en changeant le nom de la feuille. mais pas celui du TCD.. (-1 point) ;)
 

Phil kads

XLDnaute Nouveau
et pour aller un peu plus loin et te donner une piste

j'ai du mal à croire que sur plusieurs feuilles différentes, tu as un TCD qui s'appelle à chaque fois
"Tableau Croisé Dynamique 2"
j'ai du mal à croire = je ne sais pas si on peut nommer plusieurs TCD avec le même nom (jamais essayé)

je pense que tu as créé ta macro avec l'enregistreur de macro (+10 points) pour mettre à jour le TCD de la première feuille
Mais que tu as fait un copier coller pour les autres feuilles: en changeant le nom de la feuille. mais pas celui du TCD.. (-1 point) ;)
Bonjour Vgendron,
merci pour toutes tes bonnes remarques, maintenant suis plus informée.

Tu as totalement raison sur les TDC, je suis parti d'un seul TDC que j'ai copié et collé, et je changer seulement des noms tout en changeant des filtres pour avoir les résultats voulus. Et pour l'actualisation j'ai crée ma macro avec l'enregistreur de macro pour qu'elle actualise toutes les feuilles.

je me le code généré maintenant plus lisible et plus propre:
VB:
Sub Macro3()
'
' Macro3 Macro
'

'
    Sheets("RESEAU").Select
    Range("B3").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("LUBRIFIANT RESEAU").Select
    Range("B2").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("AVIATION Client").Select
    Range("C2").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("AVIATION").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotSelect _
        "'Centre de profit'[All] '50' 'Secteur d''activité'['20']", xlDataAndLabel, _
        True
    Range("C2").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("CG HMINES CLIENT").Select
    Range("B1").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("CG HMINE").Select
    Range("B2").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("CG MINES CLIENT").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("CG MINES").Select
    Range("B2").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("LUBRIFIANT client").Select
    Range("B3").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("LUBRIFIANT HR").Select
    Range("B2").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.REFRESH
    Sheets("TABLEAU DE BORD").Select
    ActiveWindow.SmallScroll Down:=2
    ActiveSheet.ChartObjects("Graphique 1").Activate
    ActiveSheet.ChartObjects("Graphique 1").Activate
    ActiveChart.PivotLayout.PivotTable.PivotCache.REFRESH
    ActiveChart.ChartArea.Select
    ActiveChart.PivotLayout.PivotTable.PivotCache.REFRESH
    ActiveSheet.ChartObjects("Graphique 5").Activate
    ActiveSheet.ChartObjects("Graphique 5").Activate
    ActiveWindow.SmallScroll Down:=0
    ActiveSheet.Shapes.Range(Array("Année 3")).Select
    ActiveWorkbook.SlicerCaches("Segment_Année1").PivotTables(1).PivotCache.REFRESH
    ActiveSheet.Shapes.Range(Array("Mois 3")).Select
    ActiveWorkbook.SlicerCaches("Segment_Mois11").PivotTables(1).PivotCache.REFRESH
End Sub

Voilà
 

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 300
Membres
103 173
dernier inscrit
Cerba95