VBA Excel 2016 : erreur 1004 sur création TCD

Résolu/Fermé
Eaheru Messages postés 197 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 12 mars 2018 - Modifié par Eaheru le 2/01/2017 à 18:07
Eaheru Messages postés 197 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 12 mars 2018 - 5 janv. 2017 à 13:17
Bonjour et Bonne année a tous,

Ne trouvant pas d'ou vient mon problème, je viens soumettre a votre expertise.
J'ai réalisé, en 2010, sous Excel 2007, une macro qui me crée automatiquement des Tableaux Croisés Dynamiques.
Jusque la tout fonctionnait bien mais ce matin au moment de générer le premier TCD sur l'onglet de destination, le code s’arrête et indique : Erreur d’exécution '1004' : La référence n'est pas valide.

Le contexte est le suivant : J'ai un premier onglet qui me sert de source et qui se nomme "datas" et un autre onglet qui se nomme "Indicateurs" et qui regroupe les TCD.

Le code qui fonctionnait depuis 2010 est le suivant :
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="datas!R2C1:R" & Range("A65536").End(xlDown).Row _
& "C19", Version:=xlPivotTableVersion12).CreatePivotTable TableDestination:="Indicateurs!R2C1", TableName:= _
"TotalHeuresRens", DefaultVersion:=xlPivotTableVersion12
With ActiveSheet.PivotTables("TotalHeuresRens").PivotFields("Produit")
For Each PivIt5 In .PivotItems
PivIt5.Visible = True
Next
On Error Resume Next
For Each PivIt5 In .PivotItems
If PivIt5.Name <> vark0 Then
If PivIt5.Name <> vark9 Then
If PivIt5.Name <> vark10 Then
PivIt5.Visible = False
End If
End If
End If
Next
End With
With ActiveSheet.PivotTables("TotalHeuresRens").PivotFields("Produit")
.Orientation = xlRowField
.Position = 1
End With

ActiveSheet.PivotTables("TotalHeuresRens").AddDataField ActiveSheet. _
PivotTables("TotalHeuresRens").PivotFields("Temps reel renseigne"), _
"Somme de Temps reel renseigne", xlSum


et le code qui est maintenant généré par Excel 2016 est le suivant (mais ne fonctionne pas mieux, même message d'erreur)

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="datas!R1C1:R6030C19", Version:=6). _
CreatePivotTable TableDestination:="Indicateurs!R3C1", TableName:="Tableau croisé dynamique2", DefaultVersion:=6
Sheets("Feuil1").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("TotalHeuresRens").PivotFields("Produit")
For Each PivIt5 In .PivotItems
PivIt5.Visible = True
Next
On Error Resume Next
For Each PivIt5 In .PivotItems
If PivIt5.Name <> vark0 Then
If PivIt5.Name <> vark9 Then
If PivIt5.Name <> vark10 Then
PivIt5.Visible = False
End If
End If
End If
Next
End With
ActiveSheet.PivotTables("Tableau croisé dynamique2").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique2").PivotFields("Temps reel renseigne"), _
"Somme de Temps reel renseigne", xlSum


Donc la macro s’arrête dès le début de l'un ou l'autre des paragraphes avec le message d'erreur 1004.
Je précise que ce le code de 2010 a parfaitement fonctionné sous Excel 2016 depuis juin jusqu’à la semaine dernière au moins une fois par semaine.
Si vous avez une idée, elle est la bienvenue :)

Merci d'avance
A voir également:

3 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
2 janv. 2017 à 21:42
Bonjour,

Ton code erreur est souvent assez vague mais souvent aussi lié à la détermination précise d'une plage avec un environnement éventuellement différent, présence de plusieurs classeurs par exemple.
La qualification des plages n'est pas assez précise peut-être mais c'est difficile de recréer ton classeur sans autres éléments.
Il se peut aussi que ta ligne de titre ait été modifiée avec des noms de rubriques identiques, une colonne recopiée par erreur par exemple.
0
Eaheru Messages postés 197 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 12 mars 2018 20
5 janv. 2017 à 13:03
Bonjour et merci pour cette réponse.

Effectivement le code d’erreur est plutôt vague et j'ai donc du mal a trouver la source du problème.
Pour donner plus d’éléments, le fichier de départ est un fichier texte, généré à la demande et contient une quantité de lignes aléatoire.
Le fichier n'a pas varié et donc les titres des colonnes (importés du fichier.txt) n'ont pas bougée.

Je continue a chercher :)
0
Eaheru Messages postés 197 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 12 mars 2018 20
5 janv. 2017 à 13:17
Bon, je viens d'essayer avec une autre installation d'Excel 2016 et tout fonctionne très bien.
Il semble donc que mon Excel se soit buggé dans le WE....

Je clôture donc ce sujet. Merci d'avoir réfléchi a mon problème :)
0