Erreur 1002/enregistreur macros/TCD

alizee006 Messages postés 2 Date d'inscription mercredi 6 août 2008 Statut Membre Dernière intervention 18 août 2008 - 18 août 2008 à 19:53
FaroukVazaha Messages postés 42 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 11 septembre 2010 - 19 août 2008 à 11:01
Bonjour,

Je souhaiterais créer une macro permettant d'automatiser des tableaux croisés dynamiques.

Le fichier contenant les données pour les TCD change (en fait un
nouveau fichier de la même forme avec un nouveau nom toutes les
semaines), mais il a toujours le même nombre de colonnes mais pas le
même nombre de lignes, et les données de ce fichier changent également.

Je pensais donc enregistrer la macro dans le classeur de macros
personnelles pour pouvoir l'utiliser à chaque fois que j'ai ce fichier
à analyser de nouveau (et automatiser les 7 TCD).
J'ai voulu utiliser l'enregistreur de macros automatique d'Excel,
jusque là pas de problèmes ! Mais ensuite quand j'exécute la macro
enregistrée j'ai ce message d'erreur :

erreur 1004: impossible de lire la propriété pivotfields de la classe pivottable

Je ne comprend pas trop le problème, quelle est la solution ?

De plus, après réflexion si je crée une macro enregistrée basée sur
un certain nombre de ligne du fichiers de données et qu'ensuite le
nombre de lignes de ce fichier changent, je pense qu'il va y avoir
forcément un problème ! Comment faire (comment corriger le code de la
macro enregistrée !)

Je vous remercie de votre aide par avance !

Alizée

2 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
18 août 2008 à 21:41
Salut,

désolé mais les devins sont en vacance, les boules de cristal au polissage et mémé dans les orties donc il ne reste plus que nous.
Et nous... sans le code on peu vraiment rien faire.
0
FaroukVazaha Messages postés 42 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 11 septembre 2010
19 août 2008 à 11:01
Bonjour

Effectivement : sans le code il est très difficile de deviner ce qui se passe.
Par contre si ton problème se situe dans le nombre de ligne:  tu dois donc le déterminer à chaque fois.
Détermine le nombre de lignes avec :

NbLigMax = Range("Position de départ").End(xlDown).Row

Et remplace ton numéro de ligne de fin par NbLigMax.

A +
0
Rejoignez-nous