TCD - Comment bien le paramétrer en VBA

Le
Alex
Bonjour à tous,

Débutant en macro VBA, j'ai voulu faire une macro enregistrée pour
faire un tableau croisé dynamyque en mode relatif. Après
enregistrement, j'ai tenté de la relancer pour voir si cela
fonctionnait, et bien entendu ça à planter. J'ai constaté différent=
s
problèmes comme :
* Le current région qui n'était pas reconnu
* Bloquage systèmatique sur la ligne de commande :
With ActiveSheet.PivotTables("Tableau croisé
dynamique7").PivotFields("Adresse", "N° LOT")
Donc deux entrer de colonnes.
Y'a t'il une solution à mes problèmes ? Y'aurait il une procédure de
base à respecter ?
Par ailleurs, j'ai essayer de tester plusieurs astuce pour le Current
region que j'ai trouvé sur le site et du coup ca me bloque dès le
paramêtrage de la base de données. (Astuce Dim Adr) J'ai du mal le
placer.
Je vous remercie pa avance de vos réponses.
Cordialement.
Alex
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #19195661
Bonjour.
Poste ton code. Je ne suis pas sûr qu'utiliser CurrentRegion soit une
bonne idée, mais tu dois pouvoir définir la plage source de façon
dynamique avec un nom. Quant à ton erreur, publie le texte du message.
Est-ce que tu as pensé à supprimer le TCD qui a servi à
l'enregistrement de la macro ou changé le nom di TCD ?
Cordialement.
Daniel

Bonjour à tous,

Débutant en macro VBA, j'ai voulu faire une macro enregistrée pour
faire un tableau croisé dynamyque en mode relatif. Après
enregistrement, j'ai tenté de la relancer pour voir si cela
fonctionnait, et bien entendu ça à planter. J'ai constaté différents
problèmes comme :
* Le current région qui n'était pas reconnu
* Bloquage systèmatique sur la ligne de commande :
With ActiveSheet.PivotTables("Tableau croisé
dynamique7").PivotFields("Adresse", "N° LOT")
Donc deux entrer de colonnes.
Y'a t'il une solution à mes problèmes ? Y'aurait il une procédure de
base à respecter ?
Par ailleurs, j'ai essayer de tester plusieurs astuce pour le Current
region que j'ai trouvé sur le site et du coup ca me bloque dès le
paramêtrage de la base de données. (Astuce Dim Adr) J'ai du mal le
placer.
Je vous remercie pa avance de vos réponses.
Cordialement.
Alex


Alex
Le #19196031
On 26 avr, 14:58, Daniel.C
Bonjour.
Poste ton code. Je ne suis pas sûr qu'utiliser CurrentRegion soit une
bonne idée, mais tu dois pouvoir définir la plage source de façon
dynamique avec un nom. Quant à ton erreur, publie le texte du message.
Est-ce que tu as pensé à supprimer le TCD qui a servi à
l'enregistrement de la macro ou changé le nom di TCD ?
Cordialement.
Daniel



> Bonjour à tous,

> Débutant en macro VBA, j'ai voulu faire une macro enregistrée pour
> faire un tableau croisé dynamyque en mode relatif. Après
> enregistrement, j'ai tenté de la relancer pour voir si cela
> fonctionnait, et bien entendu ça à planter. J'ai constaté diffé rents
> problèmes comme :
>      * Le current région qui n'était pas reconnu
>      * Bloquage systèmatique sur la ligne de commande :
>        With ActiveSheet.PivotTables("Tableau croisé
> dynamique7").PivotFields("Adresse", "N° LOT")
> Donc deux entrer de colonnes.
> Y'a t'il une solution à mes problèmes ? Y'aurait il une procédure de
> base à respecter ?
> Par ailleurs, j'ai essayer de tester plusieurs astuce pour le Current
> region que j'ai trouvé sur le site et du coup ca me bloque dès le
> paramêtrage de la base de données. (Astuce  Dim Adr) J'ai du mal le
> placer.
> Je vous remercie pa avance de vos réponses.
> Cordialement.
> Alex- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Le code erreur est le suivant :
Erreur d'execution 1004
Impossible de lire la propriété Pivot Table de la classe work sheet

Pour le second point j'ai modifier la macro en supprimant mon onglet
ou etait le "vieux TCD" en crant un nouvel onglet pour faire le
nouveau TCD

Pour le code j'ai suivi ceci :
Dim Adr As String
With Worksheets("feuil1")
Adr = .Name & "!" & .Range("A1").CurrentRegion.Address
End With


Et remplace dans ta première ligne de code :


SourceData:= "Feuil1!R1C1:R533C8") Par
SourceData:= Adr

Merci pour ton aide
Alex
Daniel.C
Le #19198441
Utilise :
.CurrentRegion.Address(, , xlR1C1)
Daniel

On 26 avr, 14:58, Daniel.C
Bonjour.
Poste ton code. Je ne suis pas sûr qu'utiliser CurrentRegion soit une
bonne idée, mais tu dois pouvoir définir la plage source de façon
dynamique avec un nom. Quant à ton erreur, publie le texte du message.
Est-ce que tu as pensé à supprimer le TCD qui a servi à
l'enregistrement de la macro ou changé le nom di TCD ?
Cordialement.
Daniel



Bonjour à tous,



Débutant en macro VBA, j'ai voulu faire une macro enregistrée pour
faire un tableau croisé dynamyque en mode relatif. Après
enregistrement, j'ai tenté de la relancer pour voir si cela
fonctionnait, et bien entendu ça à planter. J'ai constaté différents
problèmes comme :
     * Le current région qui n'était pas reconnu
     * Bloquage systèmatique sur la ligne de commande :
       With ActiveSheet.PivotTables("Tableau croisé
dynamique7").PivotFields("Adresse", "N° LOT")
Donc deux entrer de colonnes.
Y'a t'il une solution à mes problèmes ? Y'aurait il une procédure de
base à respecter ?
Par ailleurs, j'ai essayer de tester plusieurs astuce pour le Current
region que j'ai trouvé sur le site et du coup ca me bloque dès le
paramêtrage de la base de données. (Astuce  Dim Adr) J'ai du mal le
placer.
Je vous remercie pa avance de vos réponses.
Cordialement.
Alex- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -



Le code erreur est le suivant :
Erreur d'execution 1004
Impossible de lire la propriété Pivot Table de la classe work sheet

Pour le second point j'ai modifier la macro en supprimant mon onglet
ou etait le "vieux TCD" en crant un nouvel onglet pour faire le
nouveau TCD

Pour le code j'ai suivi ceci :
Dim Adr As String
With Worksheets("feuil1")
Adr = .Name & "!" & .Range("A1").CurrentRegion.Address
End With


Et remplace dans ta première ligne de code :


SourceData:= "Feuil1!R1C1:R533C8") Par
SourceData:= Adr

Merci pour ton aide
Alex


Publicité
Poster une réponse
Anonyme