Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

TCD - Comment bien le paramétrer en VBA

3 réponses
Avatar
Alex
Bonjour =E0 tous,

D=E9butant en macro VBA, j'ai voulu faire une macro enregistr=E9e pour
faire un tableau crois=E9 dynamyque en mode relatif. Apr=E8s
enregistrement, j'ai tent=E9 de la relancer pour voir si cela
fonctionnait, et bien entendu =E7a =E0 planter. J'ai constat=E9 diff=E9rent=
s
probl=E8mes comme :
* Le current r=E9gion qui n'=E9tait pas reconnu
* Bloquage syst=E8matique sur la ligne de commande :
With ActiveSheet.PivotTables("Tableau crois=E9
dynamique7").PivotFields("Adresse", "N=B0 LOT")
Donc deux entrer de colonnes.
Y'a t'il une solution =E0 mes probl=E8mes ? Y'aurait il une proc=E9dure de
base =E0 respecter ?
Par ailleurs, j'ai essayer de tester plusieurs astuce pour le Current
region que j'ai trouv=E9 sur le site et du coup ca me bloque d=E8s le
param=EAtrage de la base de donn=E9es. (Astuce Dim Adr) J'ai du mal le
placer.
Je vous remercie pa avance de vos r=E9ponses.
Cordialement.
Alex

3 réponses

Avatar
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


Avatar
Alex
On 26 avr, 14:58, Daniel.C wrote:
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
Avatar
Daniel.C
Utilise :
.CurrentRegion.Address(, , xlR1C1)
Daniel

On 26 avr, 14:58, Daniel.C wrote:
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