Bonjour à tous,
J'essaye de réaliser une macro en VBA afin d'automatiser des relances sur un fichier très basique, mais je suis à ce jour bloqué par beaucoup de détail et je cherche de l'aide. Mon objectif est qu'a l'appuie d'un bouton sur une feuille 2 nommé "Relance fournisseur" cela permette d'envoyer un mail à une adresse qui se trouve dans la feuille 1 " RIB" en fonction du statut de la demande (si Cloturé alors pas de mail, si en attente de réponse envoie d'un mail)
Colonne statut = I, colonne mail = G
Vous avez accès au morceau de VBA que j'ai commencé à écrire dans le fichier ci-joint.
Dim Debut_Texte As String
Dim Fin_Texte As String
Dim Fin_Ligne_Fichier As Integer
Dim Text_Mail As String
Dim Matricule As String
Dim Debut_Text As String
Dim Fin_Text As String
Sub Relance_fournisseur()
Sheets("RIB").Select
Fin_Ligne_Fichier = Application.WorksheetFunction.CountA(Columns(1))
Debut_Texte = "Bonjour, La société ArianeGroup voudrait vérifier votre RIB afin d'éviter d'éventuelles fraudes."
Fin_Texte = "Pouvez-vous nous renvoyer votre RIB par retour de ce mail, en gardant en copie le service comptabilité ?" & _
"En vous remerciant par avance"
For id_ligne = 2 To Fin_Ligne_Fichier
If Range("I" & id_ligne).Text = "Cloturé" Then
id_ligne = id_ligne + 1
Else
Matricule = Range("G" & id_ligne)
Texte_Mail = Debut_Text & Fin_Text
Mail Text_Mail, "Relance Vérification RIB", Matricule
End If
Next
End Sub
Private Sub Mail(Corps_Mail As String, Sujet As String, Mail As String)
Dim olApp As Outlook.Application
Dim olItem As Outlook.MailItem
Set olApp = CreateObject("Outlook.application")
Set olItem = olApp.CreateItem(olMailItem)
With olItem
If Mail = " " Then
.to = "ND@"
.Subject = Sujet
.BodyFormat = olFormatHTML
.HTMLBody = Corps_Mail
.Close (olSave)
Else
.to = Mail
.Subject = Sujet
.BodyFormat = olFormatHTML
.HTMLBody = Corps_Mail
.Save
On Error GoTo sauve
Test = True
End If
sauve:
If Test = False Then
.Close (olSave)
Test = False
End If
End With
End Sub
Pourriez vous me venir en aide ?
Merci d'avance :)
Cordialement,
Light