IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Pierre Fauconnier

[Actualité] EXCLUSIVITE EXCEL 365!!! Je veux créer une liste d'adresses mail sur base d'un tableau Excel... AIDEZ-MOI!!!

Note : 2 votes pour une moyenne de 3,00.
par , 03/02/2020 à 21h26 (6018 Affichages)
Hé oui, ça arrive souvent, ce genre de demandes, sur nos forums... Et à vrai dire, avant Excel 365, c'était un peu galère. Oh, il y a bien Power Query (je donne la solution dans ce billet), mais bon, tout le monde ne maîtrise pas... Et le VBA, pardon, mais moi, je suis utilisateur Excel hein, pas programmeur...

Hé, cool... Avec Excel 365, ça se résume à UNE formule... et quelques fonctions...

Imaginons votre situation ensemble. Vous disposez d'une table de données (= tableau structuré) muni:
  • d'une colonne contenant les emails de vos destinataires;
  • d'une colonne reprenant le domaine (le nom du site, si vous préférez...).


Nom : 2020-02-03_211006.png
Affichages : 6288
Taille : 9,0 Ko

Vous souhaitez récupérer les adresses comme ceci: adresse1;adresse2;adresse3;... de manière à pouvoir copie la chaine dans la zone Destinataires de votre logiciel de courrier électronique.

CONCATENER vous oblige à énumérer les cellules! C'est presque aussi long que de recopier les adresses à la main...
SOLUTION 365: JOINDRE.TEXTE(...) qui permet de concaténer une plage de cellules, et qui a l'avantage, par rapport sa petite soeur CONCAT (à jeter aux oubliettes) de pouvoir spécifier le séparateur...
Nom : 2020-02-03_211621.png
Affichages : 5716
Taille : 12,2 Ko

OUI MAIS!! Il y a des doublons, or je ne peux pas supprimer les doublons de mon tableau, mais je ne les veux pas dans la chaine des emails...

Ok. Pas de soucis... Excel 365 propose la fonction UNIQUE(...) qui renvoie une matricie (<> une plage, une plage est une matrice mais une matrice n'est pas forcément une plage ^^)
Nom : 2020-02-03_211912.png
Affichages : 5829
Taille : 15,6 Ko

Je les voudrais bien triées, mes adresses, mais je ne veux pas les trier dans mon tableau, car si j'oublie de les trier, ben je ne les aurai pas triées...

Ok. On va demander à Excel 365 de les trier, alors...
Nom : 2020-02-03_212108.png
Affichages : 5991
Taille : 19,9 Ko

Ah oui mais non. J'ai oublié LE PLUS IMPORTANT! Je dois pouvoir choisir le domaine!!!
Oui mais bon, c'est bientôt fini? Allez, on va demander à Excel 365 de s'occuper de cette demande
Nom : 2020-02-03_212142.png
Affichages : 5763
Taille : 25,8 Ko


Et voilà le travail...Et bien entendu, si vous ajoutez des adresses au tableau =>>>> les formules s'adaptent, et donc la chaîne de résultat aussi

ET VOUS? Vous connaissiez ces nouvelles fonctions exclusives EXCEL 365?

Envoyer le billet « EXCLUSIVITE EXCEL 365!!! Je veux créer une liste d'adresses mail sur base d'un tableau Excel... AIDEZ-MOI!!! » dans le blog Viadeo Envoyer le billet « EXCLUSIVITE EXCEL 365!!! Je veux créer une liste d'adresses mail sur base d'un tableau Excel... AIDEZ-MOI!!! » dans le blog Twitter Envoyer le billet « EXCLUSIVITE EXCEL 365!!! Je veux créer une liste d'adresses mail sur base d'un tableau Excel... AIDEZ-MOI!!! » dans le blog Google Envoyer le billet « EXCLUSIVITE EXCEL 365!!! Je veux créer une liste d'adresses mail sur base d'un tableau Excel... AIDEZ-MOI!!! » dans le blog Facebook Envoyer le billet « EXCLUSIVITE EXCEL 365!!! Je veux créer une liste d'adresses mail sur base d'un tableau Excel... AIDEZ-MOI!!! » dans le blog Digg Envoyer le billet « EXCLUSIVITE EXCEL 365!!! Je veux créer une liste d'adresses mail sur base d'un tableau Excel... AIDEZ-MOI!!! » dans le blog Delicious Envoyer le billet « EXCLUSIVITE EXCEL 365!!! Je veux créer une liste d'adresses mail sur base d'un tableau Excel... AIDEZ-MOI!!! » dans le blog MySpace Envoyer le billet « EXCLUSIVITE EXCEL 365!!! Je veux créer une liste d'adresses mail sur base d'un tableau Excel... AIDEZ-MOI!!! » dans le blog Yahoo

Commentaires

  1. Avatar de ec
    • |
    • permalink
    Je ne sais pas si je sors du sujet, mais j'ai l'habitude de sélectionner ma colonne d’adresse mail dans Excel et de la coller directement dans la zone d'adresse du message. Ne pas avoir peur de la disposition dans Outlook, au bout de quelques secondes il dispose correctement les adresses.
  2. Avatar de curt
    • |
    • permalink
    Bonjour Pierre,

    merci pour l'info et le partage... et avec un tout petit peu de code et on peut envoyer un mail via Outlook en ayant sélectionné la liste de diffusion à partir d'Excel...
    Superbe travail.
    Curt
  3. Avatar de Pierre Fauconnier
    • |
    • permalink
    Salut

    Citation Envoyé par ec
    Je ne sais pas si je sors du sujet, mais j'ai l'habitude de sélectionner ma colonne d’adresse mail dans Excel et de la coller directement dans la zone d'adresse du message. Ne pas avoir peur de la disposition dans Outlook, au bout de quelques secondes il dispose correctement les adresses.
    Oui, c'est aussi une astuce... Mais si on les souhaites filtrées, triées, uniques, ça demande x manipulations à refaire à chaque fois. Avec une formule, si tu veux d'abord avoir celles d'un domaine, puis celle d'un autre, il te suffit de modifier le domaine dans la cellule où tu l'auras mentionné. Ce sera la seule manipulation à réaliser pour obtenir une autre liste.

    De plus, j'ai pris ici des adresses mail à titre d'exemple, mais tu peux envisager ces fonctions pour d'autres situations. En formation, j'ai ainsi pu montrer que l'on pouvait choisir une série de factures à valider dans Excel sur base de leurs numéros, puis créer la liste avec le séparateur pour l'envoyer dans un champ de saisie d'un CRM pour une validation "à la volée". Ce qu'il faut retenir ici, c'est plus l'arrivée de nouvelles fonctions qui ouvrent à de nouvelles possibilités, sans trop se focaliser sur la spécificité d'adresses envoyées dans Outlook
  4. Avatar de Pierre Fauconnier
    • |
    • permalink
    Citation Envoyé par curt
    [...]
    Salut Curt,

    Merci pour ton appréciation et bon weekend
  5. Avatar de MarcelG
    • |
    • permalink
    Bonsoir Pierre,

    Je viens de consulter ce billet.
    Très belle fonction qui intègre les WorksheetFunction de VBA. Sauf erreur, toutes les fonctions natives du tableur ne le sont pas. J'ai donc vérifié.

    Dans ma contribution,

    ces 4 lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim tb() As Variant
    ReDim tb(1 To rng_dest.Count)
    tb = Application.Transpose(rng_dest)
    
    liste_adresses = Join(tb, ";")
    sont remplacées par 1 seule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    liste_adresses = Application.WorksheetFunction.TextJoin(";", True, rng_dest)
    ou bien, si l'on intègre les 2 fonctions citées TRIER et UNIQUE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    liste_adresses = Evaluate("=TEXTJOIN("";"",TRUE,SORT(UNIQUE(" & rng_dest.Address & ")))")
    Je m'empresse donc de l'actualiser.

    Une remarque au demeurant,

    TRI retourne une erreur. Ce car Excel considère, du moins sur sa version 2016, comme "taux de rendement interne"
    Il me faut écrire TRIER

    =JOINDRE.TEXTE(";";VRAI;TRIER(UNIQUE(T_liste2[détail_liste])))
    Merci.
    Mis à jour 26/10/2020 à 17h36 par MarcelG