Cecinerock
XLDnaute Nouveau
Bonjour,
La macro ci-dessous permet d'envoyer un email à plusieurs destinataires. Le corps de l'email est un string obtenu par la concaténation de plusieurs cellules (Même ligne, à partir de Cinq colonnes).
L'email est envoyé avec un lien vers une application de sondage, il contient un login et un mot de passe uniques par lignes / répondants.
Le fichier en PJ est structuré comme suite :
- Colonne A : Noms destinataires
- Colonne B : adresses email
- Colonne C : envoyer ou non l'email (YES or NO)
- Colonne D : Login
- Colonne E : Mot de passe
- Colonne H, I et J : respectivement corps email partie 1, 2 et 3.
- Colonne G : la formule =CONCATENER($H$2;$D$2;$I$2;$E$2;$J$2) = Corps de l'email
La macro marche bien, car elle permet d'envoyer en un clic un email avec un login et mot de passe uniques pour chaque destinataire. Néanmoins, elle génère automatiquement un espace après le mot de passe et login (Espaces qui n'existe en dur dans les colonnes D et E), ce qui génère des problèmes d'accès à la plateforme de sondage.
Quelqu'un pourrait-il me dire comment faire pour que cet espace ne soit plus généré ?
En vous remerciant
Peace
[/code]
La macro ci-dessous permet d'envoyer un email à plusieurs destinataires. Le corps de l'email est un string obtenu par la concaténation de plusieurs cellules (Même ligne, à partir de Cinq colonnes).
L'email est envoyé avec un lien vers une application de sondage, il contient un login et un mot de passe uniques par lignes / répondants.
Le fichier en PJ est structuré comme suite :
- Colonne A : Noms destinataires
- Colonne B : adresses email
- Colonne C : envoyer ou non l'email (YES or NO)
- Colonne D : Login
- Colonne E : Mot de passe
- Colonne H, I et J : respectivement corps email partie 1, 2 et 3.
- Colonne G : la formule =CONCATENER($H$2;$D$2;$I$2;$E$2;$J$2) = Corps de l'email
La macro marche bien, car elle permet d'envoyer en un clic un email avec un login et mot de passe uniques pour chaque destinataire. Néanmoins, elle génère automatiquement un espace après le mot de passe et login (Espaces qui n'existe en dur dans les colonnes D et E), ce qui génère des problèmes d'accès à la plateforme de sondage.
Quelqu'un pourrait-il me dire comment faire pour que cet espace ne soit plus généré ?
En vous remerciant
Peace
Code:
Sub EnvoiMailGroupe_Sondage()
Dim OutApp As Object
Dim OutMail As Object
Dim cell As Range 'cell représente la variable à laquelle sont affectées les adresses email
'Dim CorpsMail As String
'Dim i As Integer
'Pour affecter les colonnes à des variables
Dim n As String
Application.ScreenUpdating = False
Set OutApp = CreateObject("Outlook.Application")
On Error GoTo cleanup
For Each cell In Columns("B").Cells.SpecialCells(xlCellTypeConstants)
d = Cells(cell.Row, "d").Value
e = Cells(cell.Row, "e").Value
h = Cells(cell.Row, "h").Value
Colonnei = Cells(cell.Row, "i").Value
j = Cells(cell.Row, "j").Value
n = Cells(cell.Row, "n").Value
'copie du contenu concaténé en valeur dans la colonne N
Columns("G:G").Select
Selection.Copy
Columns("N:N").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
If cell.Value Like "?*@?*.?*" And _
LCase(Cells(cell.Row, "C").Value) = "yes" Then
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = cell.Value
.Subject = "Sondage BFR"
.Body = "Cher / Chère " & Cells(cell.Row, "A").Value & vbNewLine & vbNewLine & n
.Send
End With
On Error GoTo 0
Set OutMail = Nothing
End If
Next cell
cleanup:
Set OutApp = Nothing
Application.ScreenUpdating = True
End Sub
[/code]