OVH Cloud OVH Cloud

même question

3 réponses
Avatar
Philippe
Bonjour,
Je me permets de reposer à nouveau la même question qu'il y a 6 jours, et
qui n'a vu aucune réponse, ce qui est tout de même rare sur ce forum.
Merci de me dire au moins si je ne suis pas clair, ou bien s'il n'y a pas de
solution :
Quelqu'un pourrait-il me dire comment faire, en VBA, pour adresser
directement une cellulle dans un Tableau Croisé dynamique, en fonction des
valeurs des champs qui la déterminent (un peu l'équivalent de la fonction
excel LIREDONNEESTABCROISDYNAMIQUE).

Merci

Philippe

PS : pour préciser, si j'ai un TCD qui me donne la répartition des ventes de
fruits, par vendeur :

Albert René
Poires 100 67
Pommes 10 105

si je mets dans une cellule :

=LIREDONNEESTABCROISDYNAMIQUE(nom_TCD;"Pommes René") j'ai bien 105.
Comment faire pareil en VBA ? (je suis en Excel2000, si c'est important de
préciser)

Merci

3 réponses

Avatar
isabelle
bonjour Philippe,

voici un exemple, il faut adapter à la bonne ligne et colonne.

Sub Macro1()
ligne = Application.Match("Pommes", Range("A:A"), 0)
colonne = Application.Match("René", Rows(2), 0)
MsgBox Cells(ligne, colonne)
End Sub

isabelle


Bonjour,
Je me permets de reposer à nouveau la même question qu'il y a 6 jours, et
qui n'a vu aucune réponse, ce qui est tout de même rare sur ce forum.
Merci de me dire au moins si je ne suis pas clair, ou bien s'il n'y a pas de
solution :
Quelqu'un pourrait-il me dire comment faire, en VBA, pour adresser
directement une cellulle dans un Tableau Croisé dynamique, en fonction des
valeurs des champs qui la déterminent (un peu l'équivalent de la fonction
excel LIREDONNEESTABCROISDYNAMIQUE).

Merci

Philippe

PS : pour préciser, si j'ai un TCD qui me donne la répartition des ventes de
fruits, par vendeur :

Albert René
Poires 100 67
Pommes 10 105

si je mets dans une cellule :

=LIREDONNEESTABCROISDYNAMIQUE(nom_TCD;"Pommes René") j'ai bien 105.
Comment faire pareil en VBA ? (je suis en Excel2000, si c'est important de
préciser)

Merci


Avatar
Philippe
Merci Isabelle,
enfin quelqu'un qui s'intéresse à mon problème...
Par contre, ta solution consiste à voir le TCD en question comme un tableau
ordinnaire, et cela fonctionne effectivement sur un TDC simple comme
l'exemple que je fournis.
Le vrai TDC est plus complexe, avec 3 champs colonnes et trois champs
lignes, avec des sommes intermédiaires, etc..

C'est pourquoi j'aimerais une solution qui permette d'agir directement sur
les valeurs d'items, du style :

résultat=pivottable("nom_TDC").pivotfields(vendeur="René" & mois="janvier" &
fruit="pommes").value
C'est ce que permet en une seule fois la fonction excel toute faite
=LIREDONNEESTABCROISDYNAMIQUE

Mais ce n'est peut-être pas possible...

Merci

Philippe



"isabelle" a écrit dans le message news:

bonjour Philippe,

voici un exemple, il faut adapter à la bonne ligne et colonne.

Sub Macro1()
ligne = Application.Match("Pommes", Range("A:A"), 0)
colonne = Application.Match("René", Rows(2), 0)
MsgBox Cells(ligne, colonne)
End Sub

isabelle


Bonjour,
Je me permets de reposer à nouveau la même question qu'il y a 6 jours,
et


qui n'a vu aucune réponse, ce qui est tout de même rare sur ce forum.
Merci de me dire au moins si je ne suis pas clair, ou bien s'il n'y a
pas de


solution :
Quelqu'un pourrait-il me dire comment faire, en VBA, pour adresser
directement une cellulle dans un Tableau Croisé dynamique, en fonction
des


valeurs des champs qui la déterminent (un peu l'équivalent de la
fonction


excel LIREDONNEESTABCROISDYNAMIQUE).

Merci

Philippe

PS : pour préciser, si j'ai un TCD qui me donne la répartition des
ventes de


fruits, par vendeur :

Albert René
Poires 100 67
Pommes 10 105

si je mets dans une cellule :

=LIREDONNEESTABCROISDYNAMIQUE(nom_TCD;"Pommes René") j'ai bien 105.
Comment faire pareil en VBA ? (je suis en Excel2000, si c'est important
de


préciser)

Merci




Avatar
isabelle
re bonjour Philippe,

il y a le dépanneur de toutes circonstances "evaluate"
x = Evaluate("=GETPIVOTDATA(A3,""Pommes René"")")

isabelle


Merci Isabelle,
enfin quelqu'un qui s'intéresse à mon problème...
Par contre, ta solution consiste à voir le TCD en question comme un tableau
ordinnaire, et cela fonctionne effectivement sur un TDC simple comme
l'exemple que je fournis.
Le vrai TDC est plus complexe, avec 3 champs colonnes et trois champs
lignes, avec des sommes intermédiaires, etc..

C'est pourquoi j'aimerais une solution qui permette d'agir directement sur
les valeurs d'items, du style :

résultat=pivottable("nom_TDC").pivotfields(vendeur="René" & mois="janvier" &
fruit="pommes").value
C'est ce que permet en une seule fois la fonction excel toute faite
=LIREDONNEESTABCROISDYNAMIQUE

Mais ce n'est peut-être pas possible...

Merci

Philippe

"isabelle" a écrit dans le message news:

bonjour Philippe,

voici un exemple, il faut adapter à la bonne ligne et colonne.

Sub Macro1()
ligne = Application.Match("Pommes", Range("A:A"), 0)
colonne = Application.Match("René", Rows(2), 0)
MsgBox Cells(ligne, colonne)
End Sub

isabelle


Bonjour,
Je me permets de reposer à nouveau la même question qu'il y a 6 jours,
et


qui n'a vu aucune réponse, ce qui est tout de même rare sur ce forum.
Merci de me dire au moins si je ne suis pas clair, ou bien s'il n'y a
pas de


solution :
Quelqu'un pourrait-il me dire comment faire, en VBA, pour adresser
directement une cellulle dans un Tableau Croisé dynamique, en fonction
des


valeurs des champs qui la déterminent (un peu l'équivalent de la
fonction


excel LIREDONNEESTABCROISDYNAMIQUE).

Merci

Philippe

PS : pour préciser, si j'ai un TCD qui me donne la répartition des
ventes de


fruits, par vendeur :

Albert René
Poires 100 67
Pommes 10 105

si je mets dans une cellule :

=LIREDONNEESTABCROISDYNAMIQUE(nom_TCD;"Pommes René") j'ai bien 105.
Comment faire pareil en VBA ? (je suis en Excel2000, si c'est important
de


préciser)

Merci