Erreur d'exécution '1004

Bonjour,

j'ai un problème avec deux macros, lorsque j'essaye de les excécuter , j'ai un message d'erreur:Erreur d'exécution '1004': Impossible de lir la propriété PivotFields de la classe PivotTable. Quelqu'un peut m'aide s'il vous plait ??? Merci d'avance !!

Première macro:

Sub Mot()

'Attente cause bug inexpliqué sur ligne suivante

Application.Wait (Now + TimeValue("0:00:01"))

'Cacher les 4 champs variables

On Error Resume Next 'Gestion d'erreur si champ déjà masqué

Sheets("Dynamique").PivotTables("Tableau croisé dynamique1").PivotFields(Lib_Famille_Moteur).Orientation = xlHidden

Sheets("Dynamique").PivotTables("Tableau croisé dynamique1").PivotFields(Lib_Endurance).Orientation = xlHidden

On Error GoTo 0 'Retour au mode de gestion d'erreur classique

'Afficher le champ correspondant au mode d'analyse : Champ Famille Moteur

With Sheets("Dynamique").PivotTables("Tableau croisé dynamique1").PivotFields(Lib_Famille_Moteur)

.Orientation = xlRowField

.Position = 1

.Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)

End With

'Masquer l'item (vide) dans le champ d'analyse

'Gestion d'erreur si la valeur du champ n'existe pas

On Error Resume Next

'Champ Famille Moteur

Sheets("Dynamique").PivotTables("Tableau croisé dynamique1").PivotFields(Lib_Famille_Moteur).PivotItems("(vide)").Visible = False

On Error GoTo 0

End Sub

deuxieme macro:

Sub Mot_Endurance()

'Attente cause bug inexpliqué sur ligne suivante

Application.Wait (Now + TimeValue("0:00:01"))

'Cacher les 4 champs variables

On Error Resume Next 'Gestion d'erreur si champ déjà masqué

Sheets("Dynamique").PivotTables("Tableau croisé dynamique1").PivotFields(Lib_Famille_Moteur).Orientation = xlHidden

Sheets("Dynamique").PivotTables("Tableau croisé dynamique1").PivotFields(Lib_Endurance).Orientation = xlHidden

On Error GoTo 0 'Retour au mode de gestion d'erreur classique

'Afficher les champs correspondant au mode d'analyse

'Champ Famille Moteur

With Sheets("Dynamique").PivotTables("Tableau croisé dynamique1").PivotFields(Lib_Famille_Moteur)

.Orientation = xlRowField

.Position = 1

.Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)

End With

'Champ Endurance

With Sheets("Dynamique").PivotTables("Tableau croisé dynamique1").PivotFields(Lib_Endurance)

.Orientation = xlRowField

.Position = 2

.Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)

End With

'Masquer l'item (vide) dans les deux champs

'Gestion d'erreur si la valeur du champ n'existe pas

On Error Resume Next

'Champ Famille Moteur

Sheets("Dynamique").PivotTables("Tableau croisé dynamique1").PivotFields(Lib_Famille_Moteur).PivotItems("(vide)").Visible = False

'Champ Endurance

Sheets("Dynamique").PivotTables("Tableau croisé dynamique1").PivotFields(Lib_Endurance).PivotItems("(vide)").Visible = False

On Error GoTo 0

End Sub

Bonjour,

si nom de champ est "Lib_Famille_Moteur" le placer entre guillemets.... si c'est une variable, je ne vois pas qu'elle soit initialisée...

bon après midi

@+

Merci pour votre réponse ! Même entre guillemet , j'ai l'erreur

Re,

tu as mis partout des guillemets à chaque fois que tu fais référence à un "PivotFields("NomChamp")"

Oui oui ! Peut etre est-ce le fait que je n'ai pas redéclaré le paramètre ''Lib_Famille_Moteur'' dans la macro ??

Re,

si c'est une variable, il faut également qu'elle soit initialisée, c'est à dire lui donner une valeur...

ok merci pour votre aide, bonne journé

Rechercher des sujets similaires à "erreur execution 1004"