Envoyer un mail avec une sélection de cellules

Bonjour,

Je vous sollicite car j'ai une action à faire chaque mois qui me prends énormément de temps et je sais qu'une macro me faciliterait grandement la vie ! Le problème c'est que moi et le VBA ça fait 2 !

Chaque mois je sélectionne les projets gérés par le même manager. Je copie toutes les cellules des projets lui appartenant et je le colle en image dans un mail. Je rédige ensuite le mail (qui est le même pour tous le manager)

J'ai joins le fichier pour expliquer plus facilement. Par exemple "Dupond Bernard" a 2 projets, Marie Christine a 1 projet et Guillaume Top en a 2.

S'il est possible, je voudrais que la macro sélectionne la ligne de titre et qu'elle envoie à chaque manager les lignes correspondants à son ou ses projets. Cela ferait donc 3 mails différents avec le même corps. Du style, "Bonjour, voici les projets à suivre. Merci"

Et comme rien n'est facile dans la vie ( ) le fichier est différent chaque mois mais garde la même structure. Je voudrais pouvoir affecter la macro sur un bouton que je vais créer sur chaque nouveau fichier.

Pensez vous que cela est possible ?

Merci d'avance !!

286macro-test.xlsx (15.30 Ko)

Bonjour

le problème est-il toujours d'actualité ??

fred

He oui malheureusement !

je vais me pencher sur le problème...

fred

Rebonjour

ci joint un fichier test

fonctionnement du fichier :

appuyer sur le bouton

renseigner le fichier qui a toujours la même structure mais qui varie tous les jours... (ici ton fichier fourni en ayant supprimer les lignes du résultat que tu voulais...)

laisser faire.

et c'est terminer

pour le moment cela ouvre un mail outlook. utile pour faire les essais puis a l'avenir si tu veux envoyer les mails directement sans les valider manuellement il suffit de mettre en commentaire la ligne :

            .Display 'affiche le mail

et enlever le commentaire de cette ligne

            '.send 'on envoie le mail créé

Fred

1'042macro-test.xlsx (12.54 Ko)

Bonjour

Vu que tu t'es connecté depuis que j'ai posté le fichier, je suppose que tu l'as téléchargé et peut-etre essayé....

cela serait sympas d'avoir un retour.....

fred

bonsoir Fre2406,boudechou40 et e forum

est ce le fichier exemple que j'ai mis dans le tutoriel du forum sous ma signature te correspond, car il permet si a l'activation de l'userform remplir le textbox avec l'adresse-mail et le bouton permet d'envoyer via outlook

fred2406 a écrit :

Rebonjour

ci joint un fichier test

fonctionnement du fichier :

appuyer sur le bouton

renseigner le fichier qui a toujours la même structure mais qui varie tous les jours... (ici ton fichier fourni en ayant supprimer les lignes du résultat que tu voulais...)

laisser faire.

et c'est terminer

pour le moment cela ouvre un mail outlook. utile pour faire les essais puis a l'avenir si tu veux envoyer les mails directement sans les valider manuellement il suffit de mettre en commentaire la ligne :

            .Display 'affiche le mail

et enlever le commentaire de cette ligne

            '.send 'on envoie le mail créé

Fred

Bonjour, Merci pour le fichier il correspond en tout point à ce que je cherchais ! (je savais que tout cela était possible )

Du coup j'ai quelques autres petites questions :

  • A quel niveau se situe la sélection des colonnes à envoyer dans le mail ?
  • Mon fichier comporte plusieurs onglets. Comment faire en sorte que la macro ne se fasse que dans l'onglet où se trouvent les données ?
  • Je vais un peu pousser le vice, mais est -il possible de générer l'objet du mail en fonction du mois en cours ? Par exemple si nous sommes en Juin d'écrire Facturation JUIN. (mais ça c'est un détail).

Merci encore du temps que vous m'avez accordé pour mon problème.

bonjour

- A quel niveau se situe la sélection des colonnes à envoyer dans le mail ?

        strbody = RangetoHTML(ShT.Range("A1:G" & ShT.Cells(Rows.Count, 1).End(xlUp).Row))

Mon fichier comporte plusieurs onglets. Comment faire en sorte que la macro ne se fasse que dans l'onglet où se trouvent les données ?

With Sheets(1)

tu peux mettre le numero de la feuille ou mettre directement le nom de la feuille

With Sheets("feuille Toto")

est -il possible de générer l'objet du mail en fonction du mois en cours

oui il faut modifier

            .Subject = sujet & " " & Format(Now(), "mmm") 'sujet du mail

voilà

fred

Merci ca fonctionne !! J'ai du un peu magouiller mais le résultat est là ! Merci encore pour l'aide apportée !

bonjour

dans ce cas :

Merci

fred

Rechercher des sujets similaires à "envoyer mail selection"