OVH Cloud OVH Cloud

Tableau Croisé Dynamique et Getdata : ca se complique...

3 réponses
Avatar
Bigwan
Bonjour
*Petite bouteille a la mer, a vot bon coeur msieurs dames, toute aide
me sortirait d'un petrin indescriptible*
-CONTEXTE
J'ai un tableau crois=E9 dynamique avec un champ page "Partner", un
champ de column "Month" et 3 champ data "Data1", "Data2" et "Data3.
Je cherche a extraire ces champs pour chaque partner, pour un mois
precis, disons Octobre. Pour cela j'itere sur les Partners (en mettant
a chaque fois la bonne Page du TCD) et j'utilise getData pour extraire
l'info :

TCD =3D Worksheets(1).PivotTable("TCD")

For each Partner in TCD.PivotFields("Partner")
TCD.PivotFields("Partner").CurrentPage =3D Partner.caption

a =3D TCD.getData("Data1 Month[Octobre]")
b =3D TCD.getData("Data2 Month[Octobre]")
c =3D TCD.getData("Data3 Month[Octobre]")
Next Partner

-MON PROBLEME
Certains partners n'ont pas toutes les donnees (par exemple un partner
peut avoir une Data1, mais pas de Data2 ou Data3 - dans ce cas
affichage du errorLabel pour Data2 et Data3 dans le TCD), et donc, dans
ce cas je me prends un message d'erreur d'excel qui est soit "erreur
1004" (dans le cas ou aucune donnee n'est presente pour Octobre) soit
"Formule incomplete. verifiez qu'il ne manque pas un ]" (si le partner
n'a pas toutes les donnees)

- MA QUESTION
Quelqu'un sait il quel test je peux faire pour verifier qu'un champ de
donnees n'est pas vide pour tels ou tels parametres ?
Typiquemenet je ferais un truc du genre :
if (TCD.isData("Data1 Octobre")) then
donnee1 =3D TCD.getData("Data1 Octobre")
etc...
J'ai essaye avec le recordCount ou avec "if TCD.getData("Data1
Octobre") <>errorLabel" mais ca n'a rien donn=E9.

Merci mille fois a ceux qui m'ont lu jusqu'ici, et 100 000 fois a ceux
qui me repondront.
Rgds,
T

3 réponses

Avatar
papou
Bonjour
As-tu tout simplement essayé un "On Error Resume Next" ?
Cordialement
Pascal
"Bigwan" a écrit dans le message de news:

Bonjour
*Petite bouteille a la mer, a vot bon coeur msieurs dames, toute aide
me sortirait d'un petrin indescriptible*
-CONTEXTE
J'ai un tableau croisé dynamique avec un champ page "Partner", un
champ de column "Month" et 3 champ data "Data1", "Data2" et "Data3.
Je cherche a extraire ces champs pour chaque partner, pour un mois
precis, disons Octobre. Pour cela j'itere sur les Partners (en mettant
a chaque fois la bonne Page du TCD) et j'utilise getData pour extraire
l'info :

TCD = Worksheets(1).PivotTable("TCD")

For each Partner in TCD.PivotFields("Partner")
TCD.PivotFields("Partner").CurrentPage = Partner.caption

a = TCD.getData("Data1 Month[Octobre]")
b = TCD.getData("Data2 Month[Octobre]")
c = TCD.getData("Data3 Month[Octobre]")
Next Partner

-MON PROBLEME
Certains partners n'ont pas toutes les donnees (par exemple un partner
peut avoir une Data1, mais pas de Data2 ou Data3 - dans ce cas
affichage du errorLabel pour Data2 et Data3 dans le TCD), et donc, dans
ce cas je me prends un message d'erreur d'excel qui est soit "erreur
1004" (dans le cas ou aucune donnee n'est presente pour Octobre) soit
"Formule incomplete. verifiez qu'il ne manque pas un ]" (si le partner
n'a pas toutes les donnees)

- MA QUESTION
Quelqu'un sait il quel test je peux faire pour verifier qu'un champ de
donnees n'est pas vide pour tels ou tels parametres ?
Typiquemenet je ferais un truc du genre :
if (TCD.isData("Data1 Octobre")) then
donnee1 = TCD.getData("Data1 Octobre")
etc...
J'ai essaye avec le recordCount ou avec "if TCD.getData("Data1
Octobre") <>errorLabel" mais ca n'a rien donné.

Merci mille fois a ceux qui m'ont lu jusqu'ici, et 100 000 fois a ceux
qui me repondront.
Rgds,
T
Avatar
Bigwan
Oui j'ai testé avec un error handler.
Pas de resultats...
Mais c kan mm pas possible que l'on ne puisse tester l'existence ??
*soupir*
Rgds,
- Thomas -

Bonjour
As-tu tout simplement essayé un "On Error Resume Next" ?
Cordialement
Pascal
"Bigwan" a écrit dans le message de news:

Bonjour
*Petite bouteille a la mer, a vot bon coeur msieurs dames, toute aide
me sortirait d'un petrin indescriptible*
-CONTEXTE
J'ai un tableau croisé dynamique avec un champ page "Partner", un
champ de column "Month" et 3 champ data "Data1", "Data2" et "Data3.
Je cherche a extraire ces champs pour chaque partner, pour un mois
precis, disons Octobre. Pour cela j'itere sur les Partners (en mettant
a chaque fois la bonne Page du TCD) et j'utilise getData pour extraire
l'info :

TCD = Worksheets(1).PivotTable("TCD")

For each Partner in TCD.PivotFields("Partner")
TCD.PivotFields("Partner").CurrentPage = Partner.caption

a = TCD.getData("Data1 Month[Octobre]")
b = TCD.getData("Data2 Month[Octobre]")
c = TCD.getData("Data3 Month[Octobre]")
Next Partner

-MON PROBLEME
Certains partners n'ont pas toutes les donnees (par exemple un partner
peut avoir une Data1, mais pas de Data2 ou Data3 - dans ce cas
affichage du errorLabel pour Data2 et Data3 dans le TCD), et donc, dans
ce cas je me prends un message d'erreur d'excel qui est soit "erreur
1004" (dans le cas ou aucune donnee n'est presente pour Octobre) soit
"Formule incomplete. verifiez qu'il ne manque pas un ]" (si le partner
n'a pas toutes les donnees)

- MA QUESTION
Quelqu'un sait il quel test je peux faire pour verifier qu'un champ de
donnees n'est pas vide pour tels ou tels parametres ?
Typiquemenet je ferais un truc du genre :
if (TCD.isData("Data1 Octobre")) then
donnee1 = TCD.getData("Data1 Octobre")
etc...
J'ai essaye avec le recordCount ou avec "if TCD.getData("Data1
Octobre") <>errorLabel" mais ca n'a rien donné.

Merci mille fois a ceux qui m'ont lu jusqu'ici, et 100 000 fois a ceux
qui me repondront.
Rgds,
T


Avatar
Paul
Bonjour,
Je pense que le mieux est de mettre 0 dans les cases vides (voir Options
du TCD), comme ça il n'y aura pas de mesage d'erreur.
Paul


Oui j'ai testé avec un error handler.
Pas de resultats...
Mais c kan mm pas possible que l'on ne puisse tester l'existence ??
*soupir*
Rgds,
- Thomas -


Bonjour
As-tu tout simplement essayé un "On Error Resume Next" ?
Cordialement
Pascal
"Bigwan" a écrit dans le message de news:

Bonjour
*Petite bouteille a la mer, a vot bon coeur msieurs dames, toute aide
me sortirait d'un petrin indescriptible*
-CONTEXTE
J'ai un tableau croisé dynamique avec un champ page "Partner", un
champ de column "Month" et 3 champ data "Data1", "Data2" et "Data3.
Je cherche a extraire ces champs pour chaque partner, pour un mois
precis, disons Octobre. Pour cela j'itere sur les Partners (en mettant
a chaque fois la bonne Page du TCD) et j'utilise getData pour extraire
l'info :

TCD = Worksheets(1).PivotTable("TCD")

For each Partner in TCD.PivotFields("Partner")
TCD.PivotFields("Partner").CurrentPage = Partner.caption

a = TCD.getData("Data1 Month[Octobre]")
b = TCD.getData("Data2 Month[Octobre]")
c = TCD.getData("Data3 Month[Octobre]")
Next Partner

-MON PROBLEME
Certains partners n'ont pas toutes les donnees (par exemple un partner
peut avoir une Data1, mais pas de Data2 ou Data3 - dans ce cas
affichage du errorLabel pour Data2 et Data3 dans le TCD), et donc, dans
ce cas je me prends un message d'erreur d'excel qui est soit "erreur
1004" (dans le cas ou aucune donnee n'est presente pour Octobre) soit
"Formule incomplete. verifiez qu'il ne manque pas un ]" (si le partner
n'a pas toutes les donnees)

- MA QUESTION
Quelqu'un sait il quel test je peux faire pour verifier qu'un champ de
donnees n'est pas vide pour tels ou tels parametres ?
Typiquemenet je ferais un truc du genre :
if (TCD.isData("Data1 Octobre")) then
donnee1 = TCD.getData("Data1 Octobre")
etc...
J'ai essaye avec le recordCount ou avec "if TCD.getData("Data1
Octobre") <>errorLabel" mais ca n'a rien donné.

Merci mille fois a ceux qui m'ont lu jusqu'ici, et 100 000 fois a ceux
qui me repondront.
Rgds,
T