Microsoft 365 fonction recherchv ou autre

marc.gilliand

XLDnaute Occasionnel
Bonjour,
J'ai un fichier style celui que je joins où j'ai besoin que dans l'onglet récapitulation viennent s'inscrire des données depuis les autres onglets :
onglet récap : colonne N (type), XL doit remonter via une formule depuis l'onglet type, la colonne J, soit type : A ou S par rapport au N° de client
de plus, toujours dans l'onglet récap : colonne O / P / Q les valeurs correspondantes de l'onglet Hiérarchisation, mais cette fois en utilisant le N° d'article
3èment : une fois que toutes ces données sont remontées correctement dans l'onglet récap, je dois pouvoir faire un TCD avec toutes ces données pour en faire un publipostage dans WORD, qui dirait en gros
Sur le groupe matière H2 : Hiver - H1 légumes, Monsieur x a fait x CA, donc à le droit à une ristourne de X
J'espère que je me suis fait comprendre.
Merci d'avance de votre aide.
 

Pièces jointes

  • exemple.xlsx
    13.5 KB · Affichages: 28

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Marc,
Pour les deux premiers points, en NOPQ une possibilité :
VB:
En N2 : =SIERREUR(RECHERCHEV(A2;type!$A:$J;10;FAUX);"")
En O2 : =SIERREUR(RECHERCHEV($B2;Hiérarchisation!$A:$D;2;FAUX);"")
En P2 : =SIERREUR(RECHERCHEV($B2;Hiérarchisation!$A:$D;3;FAUX);"")
En Q2 : =SIERREUR(RECHERCHEV($B2;Hiérarchisation!$A:$D;4;FAUX);"")
Par contre pour le TCD je laisse à d'autres plus doué que moi. :)
 

R@chid

XLDnaute Barbatruc
Bonjour et Bienvenue sur XLD,
Voir formules sur PJ
J'ai utilisé la nouvelle fonction RECHERCHEX() du fait que tu es sous Excel pour Microsoft 365, le cas échéant, une RECHERCHEV() fera l'affaisre.

Par contre pour faire un publipostage tu n'as pas besoin d'un TCD, puisque je vois que le client a le droit d'une ristourne pour chaque type d'Article (selon ce qui apparait sur le tableau).
Tu peux faire un publipostage et tu filtres les vides sur la colonne Ristourne.


Cordialement
 

Pièces jointes

  • marc.gilliand_V1.xlsx
    15.1 KB · Affichages: 8

marc.gilliand

XLDnaute Occasionnel
J'ai un fichier de base de 40'000 lignes qui résument tout ce que les clients ont acheté. Donc j'ai des clients qui ont 4 ou 5 types de marchandises différentes, donc XL doit pouvoir faire un sous-total par catégorie, et c'est ce sous-total qui sera dans le publipostage, avec en fin de publipostage le montant total de la ristourne accordée.
 

marc.gilliand

XLDnaute Occasionnel
Bonjour Marc,
Pour les deux premiers points, en NOPQ une possibilité :
VB:
En N2 : =SIERREUR(RECHERCHEV(A2;type!$A:$J;10;FAUX);"")
En O2 : =SIERREUR(RECHERCHEV($B2;Hiérarchisation!$A:$D;2;FAUX);"")
En P2 : =SIERREUR(RECHERCHEV($B2;Hiérarchisation!$A:$D;3;FAUX);"")
En Q2 : =SIERREUR(RECHERCHEV($B2;Hiérarchisation!$A:$D;4;FAUX);"")
Par contre pour le TCD je laisse à d'autres plus doué que moi. :)

pouvez-vous m'expliquer le nombre 10 dans la formule ??
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
On cherche la valeur en A2 dans la colonne 1 du tableau type!A:J et on remonde la valeur de la 10eme colonne du tableau, soit la colonne J, soit encore Type.
 

marc.gilliand

XLDnaute Occasionnel
J'ai un fichier de base de 40'000 lignes qui résument tout ce que les clients ont acheté. Donc j'ai des clients qui ont 4 ou 5 types de marchandises différentes, donc XL doit pouvoir faire un sous-total par catégorie, et c'est ce sous-total qui sera dans le publipostage, avec en fin de publipostage le montant total de la ristourne accordée.
personne n'a de réponses à me donner où un début de solution ???
 

R@chid

XLDnaute Barbatruc
Re,
personne n'a de réponses à me donner où un début de solution ???
L'exemple donné ne nous aideras pas à t'aider, il faut plutôt mettre un fichier plus représentatif de ce que tu as.
Sinon, je te conseille de voir du coté de Power Query, il peut t'aider à faire ce que l'on a fait avec RECHERCHEV(), et même rassembler les montants par Client et par Catégorie comme tu le souhaites. Comme ça permet également à mettre à jour les requêtes facilement si jamais tableaux sources évoluent avec le temps.

Cordialement
 

marc.gilliand

XLDnaute Occasionnel
Voilà, les deux fichiers (word et excel). Dont j'aimerai faire ce publipostage. J'y ai mis toutes les explications. Comme je travaille depuis chez moi en office 365 Mac et qu'au boulot j'ai PC windows office, je crois 10. C'est un peu problématique. Merci de la suggestion power query, mais je ne comprends pas
 

Pièces jointes

  • Lettre publipostage.docx
    12.5 KB · Affichages: 3
  • marc.gilliand_V2.xlsx
    20.8 KB · Affichages: 3

R@chid

XLDnaute Barbatruc
Bonjour,
d'après ce que j'ai compris, tu souhaites faire un publipostage et envoyer à chaque client un tableau des ristournes méritées, mais il faut que tu saches que pour faire un publipostage il faut avoir un client par lignes et toutes les ristournes et articles sur plusieurs colonnes.
2020-12-05_16-20-49.jpg

cette présentation de données te permet de faire un fichier Word pour chaque ristourne, ça veut dire si un client on en a 10 tu vas lui envoyer 10 fichiers.
Alors que pour faire un publipostage et envoyer un fichier à chaque client, tu dois faire le tableau avec les informations de chaque clients dans une seule ligne, et plusieurs colonnes de ristournes et articles.

Cordialement
 

R@chid

XLDnaute Barbatruc
Re,
malgré tout ça va rester compliqué, on a plusieurs H2 pour chaque H1, ce qui fait, que pour chaque client, il nous faudrait plusieurs lignes.
2020-12-06_00-35-43.jpg

Avec ce tableau on peut faire un publipostage avec Word et imprimer un relevé pour chaque élève.



2020-12-06_00-38-00.jpg

Avec ce 2ème tableau on ne pourra pas pas faire un publipostage et imprimer un relevé pour chaque élève.

Mais, je pense qu'une âme charitable pourrait bien t'aider et te faire un publipostage dans Excel via VBA.
 

Discussions similaires

Statistiques des forums

Discussions
312 097
Messages
2 085 257
Membres
102 842
dernier inscrit
Miguelita