Extraire des données d'un tableau pour en créer un autre (avec un critère)

Co0rentin2

XLDnaute Nouveau
Bonjour,

Je suis en train de repenser mon système de listing de membre. J'ai un listing sous Excel, et j'aimerai bien faire du publipostage avec Word.
Cependant mes membres ne veulent pas tous recevoir le courrier par la poste (mon listing reprend tout le monde). J'ai donc une colonne dans mon tableau qui se nomme "courrier" et qui indique comment le membre veut recevoir le courrier :
E = email
P = poste
2 = poste & email

Ce que j'aimerai bien, c'est trouver une formule (pas une macro) qui créé dans une autre feuille une liste des infos utiles, mais uniquement pour ceux qui veulent recevoir le courrier (c'est à dire ceux qui ont un P ou un 2 dans la colonne courier).
Je ne vois pas trop comment m'y prendre pour que ce soit automatique...

Je mets un exemple (pas avec mon vrai listing, ne pouvant pas divulguer toutes les infos à la nawak). Il me semble assez bien expliqué / résumé la situation.

Merci d'avance,
Corentin
 

Pièces jointes

  • extraire.xlsx
    30.4 KB · Affichages: 65
  • extraire.xlsx
    30.4 KB · Affichages: 70
  • extraire.xlsx
    30.4 KB · Affichages: 69

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Extraire des données d'un tableau pour en créer un autre (avec un critère)

Bonjour Co0rentin2,

Ne connaissant pas Excel sur Mac, je ne répondrai que pour Excel PC.

Je pense que le plus simple est de filtrer la liste non pas dans Excel mais directement dans Word.

Pour le publipostage, on selectionne 'liste existante' puis on choisit le fichier excel et on indique qu'on utililise la feuille 'BDD' comme source avec les en-têtes en ligne 1.

On peut ensuite filtrer la liste par 'modifier la liste des destinataires' et on indique que le champ courrier doit être égal à P ou 2.

Un exemple en excel 2010 pour des fichiers sous C:\Toto-fusion.
 

Pièces jointes

  • Toto-fusion.zip
    24.3 KB · Affichages: 45
Dernière édition:

Co0rentin2

XLDnaute Nouveau
Re : Extraire des données d'un tableau pour en créer un autre (avec un critère)

Parfait ! Merci beaucoup, ça fonctionne exactement pareil chez moi.

J'ai cependant encore une petites questions :

J'ai parfois plusieurs personnes qui viennent d'une même famille. Par soucis d'économie/écologie/gain de temps/... j'aimerai bien leur envoyer qu'une seul fois la lettre, et si possible afficher les 2 prénoms (avec le publipostage). Existe-t-il une telle fonction dans le publipostage, ou alors dois-je traiter mes données dans Excel (et si oui, une idée de comment faire ?)

Dans mon exemple ici, j'ai par exemple plusieurs Dupont et plusieurs Leroi. A noter que pour l'instant j'ai pas de famille avec le même nom de famille, mais pour vraiment bien faire, il faudrait envoyer 1 même et unique lettre uniquement si les adresses sont les mêmes, et pas par rapport à leur nom de famille.

Merci
Corentin
 

Pièces jointes

  • extraire v2.xlsx
    11.3 KB · Affichages: 69

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Extraire des données d'un tableau pour en créer un autre (avec un critère)

(re) Bonjour Co0rentin2,

J'ai parfois plusieurs personnes qui viennent d'une même famille. Par soucis d'économie/écologie/gain de temps/... j'aimerai bien leur envoyer qu'une seul fois la lettre, et si possible afficher les 2 prénoms (avec le publipostage). Existe-t-il une telle fonction dans le publipostage, ou alors dois-je traiter mes données dans Excel (et si oui, une idée de comment faire ?)

Une tentative en rajoutant deux colonnes dans le tableau Excel.
Une colonne (G = AdresseComplete) qui est la concaténation des champs [@adresse],[@CP] et [@Ville]
(pour ma part j'aurais rajouté le nom afin de distinguer les membres de famille différentes mais avec la même adresse - cas des immeubles)
Une colonne (H = Prenoms) qui contient les prénoms concaténés et séparés par une virgule pour une même adresse complète donnée.

Le nombre de membres à la même adresse est limité à 4.
Le tableau n'a pas besoin d'être trié selon les adresses.

Formule en colonne G :
Code:
 =[@adresse]&[@CP]&[@Ville]

Formule en cellule H2 à tirer vers le bas :
Code:
=SI(NB.SI($G$1:G2;G2)= NB.SI($G$1:G200;G2); INDIRECT("B" & PETITE.VALEUR(SI($G$1:G2=G2;LIGNE($G$1:G2);"");1)) & SIERREUR(", "& INDIRECT("B" & PETITE.VALEUR(SI($G$1:G2=G2;LIGNE($G$1:G2);"");2));"") & SIERREUR(", "& INDIRECT("B" & PETITE.VALEUR(SI($G$1:G2=G2;LIGNE($G$1:G2);"");3)) & SIERREUR(", "& INDIRECT("B" & PETITE.VALEUR(SI($G$1:G2=G2;LIGNE($G$1:G2);"");4));"");"");"")

Attention! Cette dernière formule est une formule matricielle.
Formule matricielle: Elle doit être validée par la combinaison des touches Ctrl+Maj+Entrée au lieu de la seule touche Entrée comme une formule classique.
Si la validation matricielle est correcte, alors Excel entoure la formule d'accolades {=.......}.
Chaque fois que cette formule sera modifiée, la validation devra se faire par Ctrl+Maj+Entrée. Les accolades apparaissent à la validation et ne doivent pas être saisies au clavier.

Sur MAC, il me semble que Ctrl+Maj+Entrée est remplacé par COMMAND + RETURN.

Si le tableau des membres s'étend au delà de la ligne 200, changer dans la formule (en H2) le terme $G$1:G200 par $G$1:Gnnn où nnn est supérieur au dernier numéro de ligne du tableau puis tirer cette formule vers le bas.

Dans Word, le filtre sur les membres a été modifié en:
Courrier est différent de E et Prenoms n'est pas vide

L'exemple est donné pour des fichiers dans le dossier C:\Toto-fusion-v2
 

Pièces jointes

  • Toto-fusion-v2.zip
    24.4 KB · Affichages: 44
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 235
Membres
103 497
dernier inscrit
JP9231