Envoi mail à adresses selectionnées dans TextBox1
Bonjour à tous,
Je continue à avancer petitement sur mon application d'envoi de mail... Je n'arrive pas à lister les éléments sélectionnés dans ma TextBox1 (adresses mails) pour procéder à un envoi individuel (si présence de 3 adresses mails dans TextBox1) = envoi de 1 mail individuel pour chaque destinataire...
Private Sub CommandButton2_Click()
' Bouton "Envoyer" les mails sélectionnés pour l'Envoi Individuel
Dim i As Byte
Dim dest As String
Dim Ol, ObjItem As Object
Set Ol = CreateObject("outlook.application")
Set ObjItem = Ol.CreateItem(0)
If Me.TextBox1.Value = "" Then
MsgBox "Aucun mail sélectionné pour l'envoi!", vbCritical + vbOKOnly, "Avertissement!"
Exit Sub
End If
'Mettre en premier lieu le "Focus" sur TextBox1 avant de compter les lignes
Me.TextBox1.SetFocus
' Nombre de ligne ".LineCount" dans la TextBox1
nlc = Me.TextBox1.LineCount
For i = 1 To nlc
If Me.TextBox1 & i <> "" Then
dest = Me.TextBox1 & i
Else:
Exit Sub
End If
Next i
' Envoi du mail
With ObjItem
.to = dest
'.cc = "xxxxxxxxxxx"
.Subject = "Statistiques Mensuelles"
.Body = "Bonjour," & vbCrLf & vbCrLf & "En pièce jointe, vous trouverez le détail des factures payées par le virement du client " & _
Range("X8").Text & " " & Range("X9").Value & " " & "du " & Range("Y10").Value & "." & _
vbCrLf & vbCrLf & "Les factures payées par le client sont grisées." & _
vbCrLf & vbCrLf & "Cordialement." & vbCrLf & vbCrLf & "Best Regards / Cordialement" & vbCrLf & _
vbCrLf & "Moi-Même" & vbCrLf & "Comptable"
'.Attachments.Add (repertoire & "\" & fichier)
.Display
.Send
End With
End Sub
A toutes fins utiles, je colle également le fichier :
En attendant, merci pour votre aide ! :)
Bonne fin d'après-midi.
Joe
Bonjour,
Le "TextBox" multiligne n'est pas adapté à cette situation > il serait préférable d'utiliser le "ListBox" ...
Le "ListBox" permet d'identifier la ligne sélectionnée ...
ric
Bonjour Ric,
Merci pour ce conseil et cette nouvelle orientation.
Pour l'instant j'ai réussi à faire fonctionner l'envoi avec plusieurs adresses mails en Multiline, mais j'ai du au préalable ajouter à la fin de tous mes mails ";", chose que je n'arrivai pas à faire dans ma macro... ça fonctionne, même si, comme tu l'as, le mieux est d'utiliser une "ListBox".
J'ai légèrement modifié mon premier code :
Private Sub CommandButton2_Click()
' Bouton "Envoyer" les mails sélectionnés pour l'Envoi Individuel
Dim i As Byte
Dim dest As String
Dim Ol, ObjItem As Object
Set Ol = CreateObject("outlook.application")
Set ObjItem = Ol.CreateItem(0)
If Me.TextBox1.Value = "" Then
MsgBox "Aucun mail sélectionné pour l'envoi!", vbCritical + vbOKOnly, "Avertissement!"
Exit Sub
End If
'Mettre en premier lieu le "Focus" sur TextBox1 avant de compter les lignes
Me.TextBox1.SetFocus
' Nombre de ligne ".LineCount" dans la TextBox1
nlc = Me.TextBox1.LineCount
For i = 1 To nlc
If Me.TextBox1 & i <> "" Then
dest = Me.TextBox1
Else:
Exit Sub
End If
Next i
' Envoi du mail
With ObjItem
.to = dest
'.cc = "xxxxxxxxxxx"
.Subject = "Statistiques Mensuelles"
.Body = "Bonjour," & vbCrLf & vbCrLf & "En pièce jointe, vous trouverez le détail des factures payées par le virement du client " & _
Range("X8").Text & " " & Range("X9").Value & " " & "du " & Range("Y10").Value & "." & _
vbCrLf & vbCrLf & "Les factures payées par le client sont grisées." & _
vbCrLf & vbCrLf & "Cordialement." & vbCrLf & vbCrLf & "Best Regards / Cordialement" & vbCrLf & _
vbCrLf & "Moi-Même" & vbCrLf & "Comptable"
'.Attachments.Add (repertoire & "\" & fichier)
.Display
.Send
End With
End Sub
J'ai déjà cette solution, je vais maintenant plancher sur la ListBox avant de plancher sur l'envoi par "Groupe".
Bonne journée.
Joe