Créer un listing à partir d'Excel

Bonjour à tous !

Je voudrais créer un listing de mail à partir d'un tableau excel, mais j'ai besoin d'utiliser une formule conditionnelle.
En gros, je veux que si je remplis ma colonne H pour plusieurs personnes, leurs adresses mails (dans la colonne G) soient regroupées en colonne I pour faire une liste.

Je galère merci d'avance pour votre aide

4 réponses

  1. Contributeur
    bonjour

    voir ce grand classique:
    https://www.commentcamarche.net/faq/24720-fonction-recherchev-sur-excel
    0
    1. Bonjour,

      Je suis pas sur de bien comprendre ton souhait, tu veux que les adresses mail s'ajoutent les unes à la suite des autres (une par ligne) ou qu'elles s'ajoutent toutes dans une même cellule avec un séparateur du genre ";"?

      Jc
      0
      1. Qu'elles s'affichent toutes dans la même cellule avec un ";" entre chaque, le but est de pouvoir directement les copier - coller pour un envoi ...
        0
    2. Bonjour

      Tu veux le nom des personnes et leurs adresses mail regroupées en colonne I?
      Si tel est le cas la formule Concatener devrait convenir
      Crdlt
      0
      1. Le problème c'est que je n'arrive pas à y ajouter une condition... Je n'arrive pas à faire le "montage" de la formule...
        0
      2. Bonjour

        Si tu fournissais un fichier ce serait plus simple pour t'aider :
        Tu postes un exemple de ton fichier (en indiquant les noms que tu veux retenir dans la liste) sur cjoint.com, tu fias créer un lien que tu copies et reviens coller ici

        Cdlmnt
        Via
        0
      3. Bonjour, cjoint ne fonctionne pas, j'ai fait avec wetransfer (attention il y a deux onglets !): https://wetransfer.com/downloads/1b281b242c198b06cf6df56eee23cb6920181004074005/c8b6381af11530c644bbf012934dd41a20181004074005/f91567

        Encore merci pour votre aide
        0
    3. Essaye ça, solution avec VBA, tu cliques sur "actualiser" pour mettre à jour la liste avant de l'utiliser.
      En registre le fichier en .xlsm (prenant en charge les macros)

      https://www.cjoint.com/c/HJeiyAmgP8N

      Bonne journée
      0
      1. Je n'ai pas accès à CJOINT sur cet ordi, je regarde cela dès que j'y ai accès merci beaucoup !
        Tu penses que ce n'est pas possible sans macro ?
        0
      2. C'est possible mais limité, combien de lignes peux contenir ton tableau? tu as une idée?
        0
      3. Pour l'instant une centaine mais cela peut aller en augmentant...
        0
      4. Ca me parait un peu compliqué de gérer ça par formule... sachant qu'Excel limite les si imbriqués à 64 imbrications.
        Sinon faire des groupes de 10 lignes avec des cellules intermédiaire et concaténer le tout à la fin mais c'est tellement plus fastidieux et source d'erreur que perso je resterais sur VBA je pense...

        Voici une solution en formule :
        Pour la feuille "Annuaire"
        En G2 (qui listera les mails des 9 premières lignes répondant au groupe A) :
        =SI(ET(E2<>"";D2<>"");D2&";";"")&SI(ET(E3<>"";D3<>"");D3&";";"")&SI(ET(E4<>"";D4<>"");D4&";";"")&SI(ET(E5<>"";D5<>"");D5&";";"")&SI(ET(E6<>"";D6<>"");D6&";";"")&SI(ET(E7<>"";D7<>"");D7&";";"")&SI(ET(E8<>"";D8<>"");D8&";";"")&SI(ET(E9<>"";D9<>"");D9&";";"")&SI(ET(E10<>"";D10<>"");D10&";";"")

        Ensuite en H2 (pour le groupe B)
        =SI(ET(F2<>"";D2<>"");D2&";";"")&SI(ET(F3<>"";D3<>"");D3&";";"")&SI(ET(F4<>"";D4<>"");D4&";";"")&SI(ET(F5<>"";D5<>"");D5&";";"")&SI(ET(F6<>"";D6<>"");D6&";";"")&SI(ET(F7<>"";D7<>"");D7&";";"")&SI(ET(F8<>"";D8<>"");D8&";";"")&SI(ET(F9<>"";D9<>"");D9&";";"")&SI(ET(F10<>"";D10<>"");D10&";";"")

        En G11 (les 10 suivants groupe A)
        =SI(ET(E11<>"";D11<>"");D11&";";"")&SI(ET(E12<>"";D12<>"");D12&";";"")&SI(ET(E13<>"";D13<>"");D13&";";"")&SI(ET(E14<>"";D14<>"");D14&";";"")&SI(ET(E15<>"";D15<>"");D15&";";"")&SI(ET(E16<>"";D16<>"");D16&";";"")&SI(ET(E17<>"";D17<>"");D17&";";"")&SI(ET(E18<>"";D18<>"");D18&";";"")&SI(ET(E19<>"";D19<>"");D19&";";"")&SI(ET(E20<>"";E20<>"");D20;"")

        H11 (les 10 suivants groupe B)
        =SI(ET(F11<>"";D11<>"");D11&";";"")&SI(ET(F12<>"";D12<>"");D12&";";"")&SI(ET(F13<>"";D13<>"");D13&";";"")&SI(ET(F14<>"";D14<>"");D14&";";"")&SI(ET(F15<>"";D15<>"");D15&";";"")&SI(ET(F16<>"";D16<>"");D16&";";"")&SI(ET(F17<>"";D17<>"");D17&";";"")&SI(ET(F18<>"";D18<>"");D18&";";"")&SI(ET(F19<>"";D19<>"");D19&";";"")&SI(ET(F20<>"";F20<>"");D20;"")

        Tu fais un copié des cellules G11:H11 que tu colles dans toutes les ligne en *1 (càd G21, G31, G41, etc.)

        Puis dans ta feuille "Listing" :
        Les formules suivantes vont concatener les résultats des cellules G et H de la feuille Annuaire jusqu'à la ligne 191
        En A2 :
        =GAUCHE(Annuaire!G2&Annuaire!G11&Annuaire!G21&Annuaire!G31&Annuaire!G41&Annuaire!G51&Annuaire!G61&Annuaire!G71&Annuaire!G81&Annuaire!G91&Annuaire!G101&Annuaire!G111&Annuaire!G121&Annuaire!G131&Annuaire!G141&Annuaire!G151&Annuaire!G161&Annuaire!G171&Annuaire!G181&Annuaire!G191;NBCAR(Annuaire!G2&Annuaire!G11&Annuaire!G21&Annuaire!G31&Annuaire!G41&Annuaire!G51&Annuaire!G61&Annuaire!G71&Annuaire!G81&Annuaire!G91&Annuaire!G101&Annuaire!G111&Annuaire!G121&Annuaire!G131&Annuaire!G141&Annuaire!G151&Annuaire!G161&Annuaire!G171&Annuaire!G181&Annuaire!G191)-1)

        En A3 :
        =GAUCHE(Annuaire!H2&Annuaire!H11&Annuaire!H21&Annuaire!H31&Annuaire!H41&Annuaire!H51&Annuaire!H61&Annuaire!H71&Annuaire!H81&Annuaire!H91&Annuaire!H101&Annuaire!H111&Annuaire!H121&Annuaire!H131&Annuaire!H141&Annuaire!H151&Annuaire!H161&Annuaire!H171&Annuaire!H181&Annuaire!H191;NBCAR(Annuaire!H2&Annuaire!H11&Annuaire!H21&Annuaire!H31&Annuaire!H41&Annuaire!H51&Annuaire!H61&Annuaire!H71&Annuaire!H81&Annuaire!H91&Annuaire!H101&Annuaire!H111&Annuaire!H121&Annuaire!H131&Annuaire!H141&Annuaire!H151&Annuaire!H161&Annuaire!H171&Annuaire!H181&Annuaire!H191)-1)

        C'est quand même légèrement fastidieux, mais j'ai testé et ça fonctionne... sans VBA

        Bonne journée

        Jc
        0
      5. Effectivement ! Je vais essayer VBA et si jamais les macros n'étaient pas compatibles, je passerai au plan B
        Merci beaucoup pour ton temps !!!!
        0