Envoie état de compte par courriel via une liste...

CyberNeo99

XLDnaute Occasionnel
Bonjour à tous,

Voici ce que j'aimerais avoir si cela est possible bien sûr... S'il y a une place où je peux l'avoir c'est ici sinon à oublier à mon avis.

Via un tableau qui est bâtis renfermant des données, j'aimerais envoyé un courriel à chacune des personnes se trouvant dans la liste. C'est un envoi d'état de compte où figure le nom de la personne dans une colonne et dans les autres une série d'information et dans la dernière colonne l'adresse de courriel de la personne. L'idée serait d'envoyé à la personne concerné les informations selon un format qui se trouve dans une autre feuille d'excel.

Je joint un fichier avec des explications, en espérant que j'ai mis assez d'explications et si n'est pas le cas, ne vous gêné pas pour me demander.....

Merci à l'avance


Neo
 

Pièces jointes

  • Envoie d'un état de compte par courriel via une liste.xls
    31 KB · Affichages: 175

VDAVID

XLDnaute Impliqué
Re : Envoie état de compte par courriel via une liste...

Bonsoir CyberNeo,

Une première approche avec ce code, à peaufiner l'envoi par Outlook, (je n'ai que Lotus je n'ai pas pu vérifier).

La macro inscrit les infos dans ta feuille 'Etat de compte'! pour chaque adresse avant de les envoyer.

Code:
Sub envoi()

If MsgBox("Validez l'envoi de mail", vbYesNo, "Attention!") = vbNo Then
Exit Sub
Else


Dim i&
For i = 2 To 10 Step 1


Sheets(2).Range("B4").Value = Sheets(1).Range("A" & i).Value
Sheets(2).Range("C8").Value = Sheets(1).Range("B" & i).Value
Sheets(2).Range("C11").Value = Sheets(1).Range("C" & i).Value
Sheets(2).Range("C14").Value = Sheets(1).Range("D" & i).Value
Sheets(2).Range("C17").Value = Sheets(1).Range("E" & i).Value

   Set objOL = New Outlook.Application
Set objMail = objOL.CreateItem(olMailItem)
With objMail
    .To = Sheets(1).Range("F" & i).Value
    .Subject = ObjetMail
    .Body = CorpsMail
    If AttachMail <> "" Then
        .Attachments.Add AttachMail
    End If
    .Display
End With
SendKeys "%v", True
Set objMail = Nothing
Set objOL = Nothing
Sheets(2).Range("B4").ClearContents
Sheets(2).Range("C8").ClearContents
Sheets(2).Range("C11").ClearContents
Sheets(2).Range("C14").ClearContents
Sheets(2).Range("C17").ClearContents
   Next i
   End If
    End Sub

En espérant t'avoir aider!
Bonne soirée
 

CyberNeo99

XLDnaute Occasionnel
Re : Envoie état de compte par courriel via une liste...

Bonjour VDAVID et aux autres.... ;o))))


J'ai mis ton code dans la feuille État de compte et ensuite j'ai éxécuter la macro. Il bloque à la ligne

Set objOL = New Outlook.Application

sur la partie en rouge probablement comme tu as dis car tu es sur Lotus Notes alors que j'ai Outlook.

Merci


Neo
 

CyberNeo99

XLDnaute Occasionnel
Re : Envoie état de compte par courriel via une liste...

Bonjour joss56,


Heuuuuu, sûrement pas si je me pose la question car pour être franc j'ai besoin d'explication car je n'ai pas d'idée exactement de quoi tu parles.......


Merci à l'avance

Neo
 

joss56

XLDnaute Accro
Re : Envoie état de compte par courriel via une liste...

Bonjour Neo, le forum

Tu fais ALT+F11 à partir de ta feuille Excel pour afficher le VBE (Visual Basic Editor). Tu cliques sur le menu Outils|Références et tu coches la bibliothèque Microsoft Outlook x.0 Object Library (x.0 correspond à ta version du pack office: ce peut être 10.0, 11.0, 12.0)
Cette manipulation permet à Excel d'interagir avec Outlook (pour faire simple!)
A+
Jocelyn
 

CyberNeo99

XLDnaute Occasionnel
Re : Envoie état de compte par courriel via une liste...

Bonjour à tous,

Merci DoubleZero pour ton essai, c'est Super..... Est-ce que cela peut se faire de façon automatique pour ce qui est de l'envoyé car avec ton fichier il faut choisir les personnes une à une alors si la liste de personne est de 200 par exemple il faut faire l'opération 200 fois. Choisir dans la liste déroulante la personne et ensuite cliquer sur le bouton mail pour ainsi l'envoyé à la personne via courriel....

S'il pourrait passer à traves la liste un par un sans intervenir le nombre de fois qu'il y a de nombre de personne ça serait génial, une seule opération..

Au fait désolé pour le délai j'étais pas mal dans le jus et je le suis encore pour être franc :)


Merci à l'avance


Neo
 

DoubleZero

XLDnaute Barbatruc
Re : Envoie état de compte par courriel via une liste...

Bonjour, le Fil, le Forum,

Si la liste de destinataires s’avère longue, si les données sont confidentielles et si le format de l’onglet "État de compte" doit correspondre au modèle initial, je ne sais malheureusement :( pas comment t’aider.

J’espère qu’une solution te sera proposée.

Bonne suite et à bientôt :).
 

DoubleZero

XLDnaute Barbatruc
Re : Envoie état de compte par courriel via une liste...

Bonjour, le Fil, le Forum,

"La nuit porte conseil", dit-on :).

Voici un nouvel essai à tester (attention : rien ne doit être modifié dans les onglets "Formulaire" et "État de compte").

Le code peut certainement être allégé mais... pas par moi :rolleyes: !

A bientôt.
 

Pièces jointes

  • 00 - CyberNeo99 - Mail V02.xls
    101 KB · Affichages: 90

tototiti2008

XLDnaute Barbatruc
Re : Envoie état de compte par courriel via une liste...

Bonjour CyberNeo, Bonjour 00 :)

Peut-être comme ça ?

Code:
Sub Mise_en_page()
Dim i As Long
Application.ScreenUpdating = False
    With Sheets("Base")
    For i = 2 To .Range("A65536").End(xlUp).Row
        If .Cells(i, 1).Interior.ColorIndex = 36 Then
            Sheets("Formulaire").Range("B4:D4") = Sheets("Base").Range("a" & i)
            Sheets("État de compte").UsedRange.Value = Sheets("Formulaire").UsedRange.Value
            Sheets("État de compte").Select
            ActiveSheet.Copy
            Call Mail_envoyer
        End If
    Next i
    End With
    Sheets("Base").Select
Application.ScreenUpdating = True
End Sub

Sub Mail_envoyer()
Application.DisplayAlerts = False
ActiveWorkbook.SendMail Recipients:=Range("e4")
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 412
Messages
2 088 196
Membres
103 763
dernier inscrit
p.michaux