Envoi d'emails avec VBA à des adresses selon cellules

Bonjour,

Je dois envoyer régulièrement des emails avec des informations génériques à des clients.

En général il s'agit d'une notification de réception de marchandise.

Actuellement, j'ai pu mettre au point une notification extrêmement sommaire via une formule HYPERLINK mailto. Le problème étant qu'elle est limitée à 255 caractères et ne permet pas de retours à la ligne. L'email est de fait vraiment très brut. (voir le fichier test joint).

L'avantage est que le lien de chaque ligne du fichier se réfère aux données de la ligne en question pour personnaliser tant le destinaire de l'email, le sujet du mail, et le corps de texte.

Je n'ai pas trouvé de fonction dans VBA me permettant de généré un email qui reprendrait d'une part les données de la ligne en cours d'utilisation, par colone, pour l'envoyer à l'adresse email définie dans une colone de cette même ligne.

Est-ce que quelqu'un sait si cela est tout de même possible ?

D'avance merci pour votre aide.

13test.xlsx (9.58 Ko)

Bonjour Dams,

Si tu travailles avec Outlook, ci-joint le fichier configuré, pour les envoies des mails au format HTML.

Donc par la suite tu peux agrémenter le texte du message (zone par zone ou par bloc de texte) en gras, en italique, modifier la couleur et etc.

Bonjour et1000lio,

Merci pour cette rapide réponse.

Cependant, lorsque je tente d'exécuter le script, j'ai un message d'erreur (voir le screenshot).

As-tu une idée d'où ça peut venir ?

Juste pour que je puisse ensuite compléter mon fichier correctement, on est bien d'accord que dans des lignes comme "'msg.CC = ActiveCell.Offset(0, 6)" le 6 correspond à la colone dans laquelle l'info doit être prise ?

Merci pour ton aide.

screenshot

Bonjour Dams

Cependant, lorsque je tente d'exécuter le script, j'ai un message d'erreur (voir le screenshot).

As-tu une idée d'où ça peut venir ?

Je pense que oui.

Ouvre l'éditeur VBE (Alt + F11) et Choisis Outils/Références (visuel ci-après). Si elle n'est pas cochée, recherches dans le menu déroulants et coches la.

Juste pour que je puisse ensuite compléter mon fichier correctement, on est bien d'accord que dans des lignes comme "'msg.CC = ActiveCell.Offset(0, 6)" le 6 correspond à la colone dans laquelle l'info doit être prise ?

Ton destinataire du message correspond aux données de la ligne en colonne F c'est à dire ActiveCell.Offset(0,5) ou la 5ème colonne après la cellule active.

Donc si tu souhaites mettre des destinataire en copie il faut que tu appliques la même logique

Exemple : Si les destinataires en copie sont en colonne i le code sera :

msg.CC = ActiveCell.Offset(0, 8).Value

Voici le lien sur le présent site pour la gestion des sélections des cellules https://www.excel-pratique.com/fr/vba/selections.php

A te relire.

image

Bonjour et1000lio,

Je suis malheureusement équipé d'Office 14 - version de notre entreprise.

Y a-t-il moyen d'avoir un script qui tourne avec Office 14 ?

J'ai coché la case de la version 14, mais le script recherche quand même la version 15 pour touner.

Merci pour la clarification des positionnements de cellule.

D'avance merci

Dams,

Désolé s'il s'agit d'Open Office, je ne peux pas donner suite à ta demande.

rebonjour,

Il ne s'agit pas d'OpenOffice, il s'agit bien de Microsoft Office, mais pas 14, et pas 15 comme dans ton script.

J'ai cru qu'il s'agissait d'Office 2013 mais il semble que ce soit encore 2010.

J'espère que ça peut aider.

J'ai décoché Microsoft Excel 15.0 Object Library

Coches à réception du fichier => Microsoft Excel 14.0 Object Library

Si cela ne fonctionne toujours pas, il y aura peut-être une âme charitable sur ce forum pour nous communiquer la solution.

Bonjour et1000lio,

Merci pour ton aide.

Malheureusement, j'ai désormais un autre message d'erreur. Je ne sais pas si la langue du système à une quelconque influence (pas que je sache) ou si c'est lié à autre chose.

screenshot

Bonjours Dams

Suivant les versions d'Excel la ligne de références disponibles doit correspondre (C'est-à-dire coché) :

  • Version 2010 => Microsoft OutLook 14.0 Object Library
  • Version 2013 => Microsoft OutLook 15.0 Object Library
  • Version 2016 =>Microsoft OutLook 15.0 Object Library

Si cela ne fonctionne toujours pas vérifies qu'il n'y a pas une ligne références "manquant" de cochée. Si tel est le cas décoche cette ligne et coche la bonne ligne Microsoft OutLook suivant ta version

On va y arriver !

Bonjour et1000lio,

La case était déjà cochée, mais du coup je l'ai désactivée, sauvegerdé le fichier, réouvert, recoché, sauvergardé. Et ça fonctionne !

Un IMMENSE merci pour ton aide

bonne journée !

Rechercher des sujets similaires à "envoi emails vba adresses"