Extraction et mise en page données à partir d'un TCD

randle88

XLDnaute Junior
Bonjour,

Je dois réaliser dans le cadre d'un projet, un petit fichier excel qui servira par la suite pour du publipostage.

J'ai un TCD avec une colonne "Numéro Fournisseur" et une autre colonne avec "Numéro Facture" (par exemple). Il y a donc plusieurs ligne pour un seul fournisseur (car plusieurs facture).

Je voudrais avoir, sur une même feuille un tableau, un tableau (pas dynamique) qui grâce au numéro fournisseur, renseigne des infos (adresse.....) et qui vient chercher les numéro de facture dans le TCD( donc verticalement) pour les mettre dans ce tableau horizontalement (a la suite). En ayant une ligne par fournisseur (avec toutes ses factures sur la même ligne.

Je souhaite évidement que ce second tableau soit "automatisé" pour réagir lorsque le TCD est actualisé (ajout ligne si nouveau numéro fournisseur....)

Je mets un fichier en PJ pour être plus explicite.

D'avance merci
 

Pièces jointes

  • Classeur1.xlsx
    11.5 KB · Affichages: 58
  • Classeur1.xlsx
    11.5 KB · Affichages: 57
  • Classeur1.xlsx
    11.5 KB · Affichages: 62

Dranreb

XLDnaute Barbatruc
Re : Extraction et mise en page données à partir d'un TCD

Bonjour.
Une lecture rapide m'a donné à penser que le système installé dans ce classeur pourrait servir de base pour votre classeur. Il n'utilise pas de tableaux croisés dynamique mais est presque équipé pour faire la même chose qu'un tel tableau.

J'en ai un autre un peu de la même veine qui, lui, peut établir de façon simple des récapitulatifs aux mêmes possibilités que les TCD et ne nécessitant pas de réactualisation, mais il ne permet pas encore d'interactions réciproques entre le récapitulatif et le tableau récapitulé.
Cordialement
 

Pièces jointes

  • TabRéciproques.xls
    70.5 KB · Affichages: 61
  • TableauRécap.xls
    87.5 KB · Affichages: 62
  • TableauRécap.xls
    87.5 KB · Affichages: 64
  • TableauRécap.xls
    87.5 KB · Affichages: 71

randle88

XLDnaute Junior
Re : Extraction et mise en page données à partir d'un TCD

Bonjour,

Déjà merci pour votre réponse. Malheureusement ces exemples ne conviennent pas pour la situation donnée (Obligation d'un TCD).

Je remets une PJ avec une explication de la formule recherchée pour être plus claire.

Encore merci pour la réponse.
 

Pièces jointes

  • Classeur1.xlsx
    12.5 KB · Affichages: 55
  • Classeur1.xlsx
    12.5 KB · Affichages: 56
  • Classeur1.xlsx
    12.5 KB · Affichages: 41

Dranreb

XLDnaute Barbatruc
Re : Extraction et mise en page données à partir d'un TCD

Info1, 2, 3 doivent être laissées tel quel ?
Vous parlez de formules. Je saurais peut être faire avec des colonnes de formules supplémentaires
Les couleurs de la colonne B doivent elles être reproduites ? Je ne saurais le faire qu'avec une macro. Ça vous irait ?
 

randle88

XLDnaute Junior
Re : Extraction et mise en page données à partir d'un TCD

Concernant les colonnes "info1,2,3", ce n'est ici qu'un exemple. Par la suite ces colonnes seront des informations concernant le vendeur (pour les champs dans le publipostage, adresse, mail, etc...). Elles n'ont ici que peu d'importance. Vous pouvez donc ajouter des colonnes sans problème.

J'ai ajouté les couleurs uniquement pour expliciter ce que je voulais. Telle info dans la 1er tableau se retrouvera ici dans le second. Elles ne seront pas présente dans le fichier "final".

Pour le macro, aucun soucis. Je ne maitrise pas le langage mais ça fera une occasion de me pencher dessus.

Merci en tout cas de vous pencher sur mon problème.

La complexité je pense, est le fait que le tableau 1 sera un TCD donc qui évolue.
 

Dranreb

XLDnaute Barbatruc
Re : Extraction et mise en page données à partir d'un TCD

Bonjour
je ne sais quoi faire.
Une macro serait le mieux de toutes façon.
Assez simple à première vue, mais à quelle moment devra-t-elle être exécutée ?
À la réactualisation du TCD, dites vous, mais ce n'est pas encore un TCD. Alors quand ç'en sera un, il sera réactualisé quand ?
Concernant les colonnes "info1,2,3", ce n'est ici qu'un exemple. Par la suite ces colonnes seront des informations concernant le vendeur (pour les champs dans le publipostage, adresse, mail, etc...).
Le problème est considérablement plus compliqué si ces informations doivent être conservées lors de la mise à jour. Cela relève alors de traitements voisins de ceux effectués dans mon TableauxRéciproques.xls Celui-ci utilise un module de classe Indexeur permettant de faire des tris et des interclassements. Il est aussi utilisé dans l'autre Classeur qui permet de faire des sortes de TCD extrêmement simplifiés (dans leur formulation). Alors si votre tableau n'en est pas encore un...
Enfin bref, je ne sais pas quoi vous proposer pour l'instant.

P.S. Il se pourrait que le problème soit plus simple en partant de la source du futur TCD: le fait que le numéro fournisseur n'y est pas répété sur chaque ligne est un handicap.
Pour l'instant j'apporte à mon système Récap la possibilité de restituer sur plusieurs colonnes en fin une seule liste horizontale de valeurs prises dans une colonne source (en plus des possibilités sur une seule colonne, à savoir: moyenne, nombre, nombre de numériques, maximum, minimum, produit, écart type, écart type dans population entière, somme, variance, et variance dans pop. ent. Ce sont les mêmes jusque là que pour le 1er paramètre de la fonction SOUS.TOTAL).
Je pense y apporter aussi l'interclassement avec le tableau existant c'est à dire la restitution de valeurs apportées manuellement aux lignes portant des valeurs préexistantes du critère. Mais l'option ne sera pas disponible dans la fonction Récap, laquelle ne saurait puiser dans le tableau à rendre sans provoquer une référence circulaire: il faudra passer par la procédure MàJRécap
À+
 
Dernière édition:

randle88

XLDnaute Junior
Re : Extraction et mise en page données à partir d'un TCD

Rebonjour,

Je suis un peu largué par votre précédent message (trop novice).

Je joints un autre fichier avec les BDD et tous les fichiers qui seront nécessaires à la construction de ce tableau. Il y a aussi écrit ce qui est fixe et ce qui bouge (à quelle fréquence). En espérant que cela puisse vous aider.

Si c'est vraiment trop compliqué, ce n'est pas la peine. Je le ferais manuellement;

Encore merci pour votre aide
 

Pièces jointes

  • TEST.xls
    60.5 KB · Affichages: 43
  • TEST.xls
    60.5 KB · Affichages: 46
  • TEST.xls
    60.5 KB · Affichages: 42

Dranreb

XLDnaute Barbatruc
Re : Extraction et mise en page données à partir d'un TCD

Et bien voilà, on y est arrivé !
Et j'ai enfin pu caser mon indexeur, mais rien du reste...
Le TCD ne sert plus à rien: Le tableau est directement construit à partir de votre feuille "Base TCD". Donc indépendant de toute réactualisation.
Je peux y rajouter une colonne de total des factures pour qu'il ne serve vraiement plus à rien si vous voulez.
J'ai prévu 5 paires de colonnes pour les factures à tout hasard.
Le Tableau est construit lors de l'activation de la feuille par une procédure Workseet_Activate du module Feuil2 (Alt F11 pour accéder à VBA)
Cordialement
 

Pièces jointes

  • TEST1.xls
    99.5 KB · Affichages: 69
  • TEST1.xls
    99.5 KB · Affichages: 66
  • TEST1.xls
    99.5 KB · Affichages: 74

randle88

XLDnaute Junior
Re : Extraction et mise en page données à partir d'un TCD

Bonjour,

Merci pour le fichier, ca a l'air d'etre ce que je recherche.

Cependant, il y a une erreur lorsque je sors puis reviens sur la feuille TCD "Erreur d’exécution 53, fichier introuvable" et dans l'éditeur, cette ligne est surlignée en jaune " While .Actif: .ASupB = Ve(.A, 2) > Ve(.B, 2): Wend".

De plus, serait il possible exécuter la macro grace à un bouton, et non à l'ouverture de la page?

En tout cas merci beaucoup pour votre aide.
 

Dranreb

XLDnaute Barbatruc
Re : Extraction et mise en page données à partir d'un TCD

Bonjour.
"Erreur d’exécution 53, fichier introuvable" et dans l'éditeur, cette ligne est surlignée en jaune " While .Actif: .ASupB = Ve(.A, 2) > Ve(.B, 2): Wend".
Totalement incompréhensible. Surtout si ça marche une première fois. Peut être un problème système à propos du chemin dans lequel est cherchée la Kernel32.dll. Le préciser dans l'instruction Declare Sub MoveMemory du module de classe Indexeur ? Je ne sais pas.
Voyez aussi d'abord s'il n'y a pas de liaison fantôme avec un autre classeur, ni de référence manquante, menu outils, références de VBA.
De plus, serait il possible exécuter la macro grace à un bouton
Oui, pas de problème si ça vous paraît mieux:
Implantez un bouton de commande de la boîte à outils contrôles dans votre feuille et changez Worksheet_Activate par LeNomDuBouton_Click dans le module de Feuil2.

À+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 165
Messages
2 085 881
Membres
103 009
dernier inscrit
dede972