PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → [WD12] tableaux croisés
[WD12] tableaux croisés
Iniciado por c.rivera, 01,dic. 2008 14:11 - 8 respuestas
Publicado el 01,diciembre 2008 - 14:11
bonjoru à tous, est ce que quelqu'un aurait une idée pour construire un état tableau croisés basé sur 3 (ou plus) rubriques, du style en haut les les articles et les familles de produits et à gauche les mois, pour avoir les ventes.
On peut faire avec deux rubriques mais je trouve pas pour faire cela avec 3 (2+1)
Merci
Bon dev à tous.
Publicado el 01,diciembre 2008 - 15:04
Bonjour,

Rien de bien compliqué

Construction du tableau croisé en passant par un tableau de Structure.

Le tableau de structure construit on l'affiche dans une table

Impression de la table

Cordialement

Albert
Publicado el 02,diciembre 2008 - 00:32
Bonsoir,
si ce n'est pas trop demander, avez-vous un bout de code ?j'ai besoin de bien comprendre aussi
Publicado el 02,diciembre 2008 - 12:34
Bonjour,

Herve wrote in news message <4355d25d32633b6b3f098fe7af48e26c@news.pcsoft>:
Bonsoir,
si ce n'est pas trop demander, avez-vous un bout de code ?j'ai besoin de bien comprendre aussi


Un tableau croisé se construit en fonction des besoins < nbre de colonne fixe ou variable idem pour les lignes > et des sources de données

Pour bien comprendre il suffit de construire un tableau croisé avec Excel et de transposer la méthode dans un tableau de structure

Cordialement

Albert
Publicado el 02,diciembre 2008 - 13:36
Merci Albert, je vais jeter un oeil sur cela, j'avoues que pour l'instant cela reste assez flou, je n'ai aucun soucis avec les tableaux croisés dans excel, mais là mystère.
Bon dev
Christian
Publicado el 14,diciembre 2008 - 23:23
Pour te dire vrai je n'y arrive pas.
je cherche à faire un tableau avec la qte et le chiffre d'affaire par mois pour un article.
Excel le sort sans problème. Mais la structuration du code est compliqué en Windev pour moi.
Publicado el 15,diciembre 2008 - 12:33
Bonjour,

Herve wrote in news message <6b47f31d674498cd0cded5192506da53@news.pcsoft>:
Pour te dire vrai je n'y arrive pas.
je cherche à faire un tableau avec la qte et le chiffre d'affaire par mois pour un article.
Excel le sort sans problème. Mais la structuration du code est compliqué en Windev pour moi.


Honnetement, je ne vois pas ou s'est compliqué, il suffit de reproduire en langage Windev ce que vous faite en Excel

Procedure RemplirTable(sIDCpte est une chaîne = "61")

LOCAL
sListeMois, sLibellé, sNoMois sont des chaînes
sEx1, sEx2, sMois sont des chaînes
i est un entier

ST_MaStruct est une structure
LibMois est une chaîne
Ex1 est un réel
Ex2 est un réel
Evol est un réel
FIN

// [< Description tableau de structure >]
TabMvts est un tableau de 12 ST_MaStruct

// [< Liste des mois]
sListeMois = "01/02/03/04/05/06/07/08/09/10/11/12"
sLibellé = oFormat:LibelléDuCompte(sIDCpte)
LIB_Fenetre = ChaîneConstruit("Compte : %1 - %2", sIDCpte, sLibellé)

MaFenêtre..AffichageActif = Faux

sEx1 = SAI_Exerc
sEx2 = Val(sEx1)-1
TABLE_Mouvts.COL_EX1..Libellé = sEx1
TABLE_Mouvts.COL_EX2..Libellé = sEx2

// [< Constrution du tableau >]
Sablier()

i = 1
POUR TOUTE CHAINE sNoMois DE sListeMois SEPAREE PAR "/"

// [< Exercice 1 >]
sMois = ChaîneConstruit("%1%2", sEx1, sNoMois)
TabMvts[i]:LibMois = DateVersMoisEnLettre(sMois+"01")
TabMvts[i]:Ex1 = TotalDuMois(sMois, sIDCpte)

// [< Exercice 2 >]
sMois = ChaîneConstruit("%1%2", sEx2, sNoMois)
TabMvts[i]:Ex2 = TotalDuMois(sMois, sIDCpte)

// [< Evolution >]
TabMvts[i]:Evol = ( TabMvts[i]:Ex1 - TabMvts[i]:Ex2 )

// [< Mois suivant >]
i++

FIN

TableSupprimeTout(TABLE_Mouvts)

// [< Optimiser chargement >]
TABLE_Mouvts..AffichageActif = Faux
TABLE_Mouvts..TotauxActif = Faux

// [< Affichage des données >]
POUR i = 1 A 12
TableAjouteLigne(TABLE_Mouvts, TabMvts[i]:LibMois, TabMvts[i]:Ex1, TabMvts[i]:Ex2, TabMvts[i]:Evol)
FIN

// [< Réactiver calcul automatique >]
TABLE_Mouvts[ligneTotal]..Hauteur = 20
TABLE_Mouvts..AffichageActif = Vrai
TABLE_Mouvts..TotauxActif = Vrai

// [< Couleur Total >}
COL_Evolution[ligneTotal]..Couleur = (COL_Evolution[ligneTotal] > 0 ? CouleurDéfaut SINON RougeClair)
COL_ValBef3[ligneTotal]..Couleur = (COL_Evolution[ligneTotal] > 0 ? CouleurDéfaut SINON RougeClair)

// [< Libérer mémoire >]
Dimension(TabMvts, 0)

Sablier(Faux)
EcranPremier(TABLE_Mouvts)

MaFenêtre..AffichageActif = Vrai


--> 10 lignes de code pour construire le tableau ...
--> 3 lignes pour remplir la table

Cordialement

Albert
Publicado el 30,enero 2019 - 16:59
Salut.
Juste une question, si l'on veut utiliser une requête pour les titres. Comment procède t-on ?
Merci pour votre aide
Publicado el 30,enero 2019 - 17:56
Salut, Comment fonctionne cette procedure.
et si je veux utliser une requête comme titre du tableau comment procéder