Bonjour le forum,
Je suis en train de créer une macro pour envoyer un mail automatique à une personne. L'envoi fonctionne et voici la macro pour information si certains souhaitent connaître ça mais aussi pour situer le contexte :
Voilà donc tout fonctionne, mon problème et le choix de l'adresse mail. Je souhaite qu'en fonction du nom, ça envoie l'onglet à la bonne personne.
Exemple :
si je sélectionne l'onglet A, l'email s'envoie à a@mail.com
si je sélectionne l'onglet B, l'email s'envoie à b@mail.com
Je définie les adresses mail dans un onglet "Infos" avec le nom en colonne A3:A avec l'adresse en B3:B donc en face. En sachant que j'intègre moi même les adresse mails mais que la liste de nom se créer avec une macro.
J'ai cherché des pistes sur le forum et j'essaye d'adapter cette macro
Mais ça ne fonctionne pas ...
J'ai encore à apprendre et c'est pourquoi je vous demande votre aide !
Merci par avance
Je suis en train de créer une macro pour envoyer un mail automatique à une personne. L'envoi fonctionne et voici la macro pour information si certains souhaitent connaître ça mais aussi pour situer le contexte :
VB:
Private Sub CommandButton5_Click()
Dim extension As String
Dim chemin As String, nomfichier As String
Dim style As Integer
'sauvegarde l'onglet souhaitant être envoyé
Sheets(ComboBox1.Text).Copy 'prend le nom dans ma liste
extension = ".xls"
chemin = " " 'chemin de l'emplacement de la sauvegarde du fichier
nomfichier = ActiveSheet.Range("F2").Value 'donne le nom au fichier en fonction du nom
With ActiveWorkbook
.SaveAs Filename:=nomfichier
.Close
'pour la partie mail
Dim ObjOutlook As New Outlook.Application
Dim oBjMail
Dim Nom_Fichier As String
Dim strFichier As String
Set ObjOutlook = New Outlook.Application
Set oBjMail = ObjOutlook.CreateItem(olMailItem)
'---------------------------------------------------------
Const strRepertoire = " " 'répertoire du fichier à récupérer
strFichier = nomfichier & ".xlsx"
strbody = " " corps de l'email en HTML
With oBjMail
.To = adresse 'le destinataire en fonction du nom ce que je cherche à faire
.Subject = "" 'l'objet du mail
.HTMLBody = strbody & "<br>" & .HTMLBody 'le corps du mail en HTML
.Attachments.Add strRepertoire & "\" & strFichier
.Display 'Ici on peut supprimer pour l'envoyer sans vérification
.Send
End With
Set oBjMail = Nothing
Set ObjOutlook = Nothing
End With
End Sub
Voilà donc tout fonctionne, mon problème et le choix de l'adresse mail. Je souhaite qu'en fonction du nom, ça envoie l'onglet à la bonne personne.
Exemple :
si je sélectionne l'onglet A, l'email s'envoie à a@mail.com
si je sélectionne l'onglet B, l'email s'envoie à b@mail.com
Je définie les adresses mail dans un onglet "Infos" avec le nom en colonne A3:A avec l'adresse en B3:B donc en face. En sachant que j'intègre moi même les adresse mails mais que la liste de nom se créer avec une macro.
J'ai cherché des pistes sur le forum et j'essaye d'adapter cette macro
VB:
Dim cel As Range 'déclare la variable cel (CELlule)
Dim r As Range 'déclare la variable r (Recherche)
With Sheets("Infos") 'prend en compte l'onglet "Infos" (à adapter à ton cas)
'boucle sur toutes les cellules éditées cel de la colonne A (en partant de la ligne 2)
For Each cel In .Range("A23:A" & .Cells(Application.Rows.Count, 1).End(xlUp).Row)
'définit la recherche r (recherche la valeur de la cellule en partie dans la colonne A de l'onglet "BASE")
Set r = ComboBox1.Text
If VarType(r) = ComboBox1.Text Then
r = adresse 'qui est la variable dans WithoBjMail correspondant au destinataire du mail
End With 'fin de la prise en compte de l'onglet "Infos"
Mais ça ne fonctionne pas ...
J'ai encore à apprendre et c'est pourquoi je vous demande votre aide !
Merci par avance