[VBA] Excel-Outlook -Demande Explication code (module de classe)

Staple1600

XLDnaute Barbatruc
Bonjour à tous --> [CODE VBA] Envoie emails à partir d'Excel en utilisant Outlook<--

Le code VBA complet étant long, je me permets d'indiquer juste sa source:
code VBA (source)

Question :
Pour personnaliser ce code, comment utiliser une plage de cellules
pour stocker les adresses mail des destinataires?

Extrait du code:
Code:
Sub TestSendMail()
'variables
    Set arlToAddresses = New ArrayList
    Set arlCcAddresses = New ArrayList
    'config
    strSubject = "test"
   [B] arlToAddresses.Add ("nomprenom@fai.fr")[/B]
Comment pouvoir écrire
arlToAddresses.Add Range("A1:A20)


Merci à tous ceux qui s'interesseront à la question.

PS: Si cela peut vous aider, voici un fichier exemple contenant le code cité plus haut
edition: nouvelle version avec la modification d'Hasco
Ce lien n'existe plus
 
Dernière édition:
G

Guest

Guest
Re : [VBA] Excel-Outlook -Demande Explication code (module de classe)

Ok,


Je vais de ce pas modifié le code

A tout à l'heure

Voici le nouveau code
Code:
Sub test()
Dim tmp
Dim strTo As String
Dim i As Integer, n As Integer
Dim fso, f
Set WshShell = CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set f = objFSO.OpenTextFile(Maillist, ForReading)
n = 0
Do While f.AtEndOfStream <> True
    'the second argument of the splitfunction is the separator (here it's a tab)
    ' tableau temporaire des adresses de la ligne en cours
    tmp = Split(f.ReadLine, Chr(59))
    'wscript.echo arrtemp(0) & " " & arrtemp(1)

    For i = 0 To UBound(tmp)
        strTo = strTo & tmp(i) & ";"
    Next
Loop
    'enlever le dernier ';'
    strTo = Left(strTo, Len(strTo) - 1)
    'Envoyer le à toutes les adresses de la chaine StrTo
    SendMail (strTo)

End Sub

Function SendMail(strSMTP)
    Dim i As Integer, cpt As Integer
    Dim TxtMessage As String, sTo As String
    Dim strEmail
    Dim strMsg
    Dim oLook
    Dim oMail
  
        TxtMessage = ReadBody(BodyFile)
        cpt = UBound(strSMTP)
        
        Set WshShell = CreateObject("WScript.Shell")
        Set oLook = CreateObject("Outlook.Application")
            Set oMail = oLook.createitem(0)
            With oMail
                .To = strSMTP
                .body = TxtMessage
                .Subject = "Compte-rendu de la dernière réunion"
                '.Attachments.Add (strAttachments)
                .Display
                'wscript.sleep (Now + TimeValue("0:00:02"))
            End With
        
        ' envoi des message
        WshShell.SendKeys "%y"
        Set oMail = Nothing
        Set oLook = Nothing
    End If

End Function
 
Dernière modification par un modérateur:

Staple1600

XLDnaute Barbatruc
Re : [VBA] Excel-Outlook -Demande Explication code (module de classe)

Re

Je te remercie de ton intérêt et de ton aide sur le sujet

De mon côté, j'ai trouvé ce moyen
(qui semble fonctionner)

Code:
Sub test()
Dim destinataires As String
Dim i As Long
Dim fso, f
Set WshShell = CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set f = objFSO.OpenTextFile(Maillist, ForReading)
Do While f.AtEndOfStream <> True
destinataires = destinataires & f.ReadLine & Chr(59)
Loop
Call SendMail(destinataires)
End Sub
Le fichier mailling.txt étant formaté de la sorte:

toto@yahoo.fr
tatu@yahoo.fr


(cad une addresse mail par ligne)

PS: pour ceux que cela interessait une archive
contenant le fichier XLS avec deux modules dont celui d'Hasco
et trois fichiers texte pour exemple
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : [VBA] Excel-Outlook -Demande Explication code (module de classe)

Re


Merci à toi Hasco.

J'ai modifié et mis à jour mon zip dans mon précédent message.
(fichier XLS avec les deux versions du code VBA)

Les commentaires des autres forumeurs seront les bienvenus ;)


PS: Remerciement à l'auteur du script VBS original
 

Manu62

XLDnaute Impliqué
Re : [VBA] Excel-Outlook -Demande Explication code (module de classe)

Bonjour,

J'ai lu votre discution tres intéressantes.

J'essaie votre code et j'ai d'enbler une erreur sur cela, cela arrive en jaune.

arlToAddresses As ArrayList ?

Merci vous

Manu
 

Staple1600

XLDnaute Barbatruc
Re : [VBA] Excel-Outlook -Demande Explication code (module de classe)

Bonjour Manu62


Tu as copier/coller le code dans un classeur

ou tu as essayé le classeur mis en pièce jointe dans ce Lien supprimé?

(je viens de le restester, il fonctionne avec Excel 2000 et Outlook installé)


Autrement tu peux essayé cette autre solution issue de mon message de 16h12
Lien supprimé
 
Dernière édition:

Manu62

XLDnaute Impliqué
Re : [VBA] Excel-Outlook -Demande Explication code (module de classe)

bonjour

J'ai essayé celui avant final, c'est ok maintenant ?

Je vais essayé de l'ajouter dans le miens maintenant en essayant de comprendre !

Qd même Pas mal votre discussion .

Merci

Manu
 

Discussions similaires

Réponses
4
Affichages
1 K

Statistiques des forums

Discussions
312 429
Messages
2 088 350
Membres
103 822
dernier inscrit
kader55