Bonjour
Novice sur VBA, je me prends à me passionner pour ce monde plein de potentiel, et ce sujet est mon premier que je poste moi-même (habituellement je trouve toutes mes solutions sur la toile, grâce aux forums comme ici, et merci à vous tous au passage).
Contexte:
Je travaille sur Microsoft 365.
Je souhaite mettre en place au moins 2 dispositifs dont le deuxième me paraît le plus dur (et important):
1/ Un mail automatiquement généré destiné à une liste d'adresses avec inclusion d'un bouton de vote ("Valider"/"Refuser" par ex).
Cette liste d'adresses serait référencée dans un classeur Excel et je pensais notamment à du publipostage, mais ne pouvant pas inclure un bouton de vote automatiquement avec le publipostage, je réfléchis à une macro.
J'ai une grossière macro pour la génération de ce mail :
2/ Je déterre ce sujet de 2009 qui correspond à ce que je cherche, et qui m'a fait avancer, me semble-t-il.
Je souhaite faire une exportation automatique sur Excel des résultats de vote par mail évoqué ci-avant, et les voir s'afficher et compilés tout propres sur une feuille de calcul, (dans le but de faire des relances automatiques dans un 3ème temps pour ceux qui n'ont pas voté...).
J'ai donc cette macro, qui me sort une "Erreur d'exécution '13' : incompatibilité de type" en me surlignant le "Next" en jaune...
(Dans un dernier temps, je ne suis pas contre des idées pour organiser les relances de mails si pas de réponses après x jours)
Je précise que je ne comprends évidemment pas tout tout tout des subtilités des lignes de code que je vous écris ici.
Je suis à l'écoute de toute piste intéressante
Merci par avance
Novice sur VBA, je me prends à me passionner pour ce monde plein de potentiel, et ce sujet est mon premier que je poste moi-même (habituellement je trouve toutes mes solutions sur la toile, grâce aux forums comme ici, et merci à vous tous au passage).
Contexte:
Je travaille sur Microsoft 365.
Je souhaite mettre en place au moins 2 dispositifs dont le deuxième me paraît le plus dur (et important):
1/ Un mail automatiquement généré destiné à une liste d'adresses avec inclusion d'un bouton de vote ("Valider"/"Refuser" par ex).
Cette liste d'adresses serait référencée dans un classeur Excel et je pensais notamment à du publipostage, mais ne pouvant pas inclure un bouton de vote automatiquement avec le publipostage, je réfléchis à une macro.
J'ai une grossière macro pour la génération de ce mail :
Code:
Sub envoie_mail()
Dim olApp As Outlook.Application
Dim OLspace As Outlook.Namespace
Dim OLinbox As Outlook.MAPIFolder
Dim OLfolder As Outlook.MAPIFolder
Dim OLmail As Outlook.MailItem
Dim OLpj As Outlook.Attachment
Dim Msg As MailItem
Set objOL = New Outlook.Application
Set Msg = objOL.CreateItem(olMailItem)
Msg.To = Email
Msg.Subject = Range("Mail_subject")
Msg.Body = "Hello," & vbNewLine & vbNewLine & _
"Please be informed that Blablabla" & vbNewLine & vbNewLine & _
'Msg.Attachments.Add Source:=nom_doc
Msg.VotingOptions = "Valider;refuser"
Msg.To = Email
Msg.Display
Set objOL = Nothing
End Sub
2/ Je déterre ce sujet de 2009 qui correspond à ce que je cherche, et qui m'a fait avancer, me semble-t-il.
créer sondage et collecter reponses mail outlook excel
Bonsoir, je cherche à réaliser un demande de congés par mail depuis excel. la personne recevrait le mail aurait le choix entre accepter ou refuser, la réponse serait envoyé dans un fichier excel. j'ai cherché mais je n'ai pas trouvé de solution pour collecter les réponses. J'arrive à afficher...
www.excel-downloads.com
J'ai donc cette macro, qui me sort une "Erreur d'exécution '13' : incompatibilité de type" en me surlignant le "Next" en jaune...
Code:
Sub chMail()
Set olApp = CreateObject("Outlook.application")
Set OLspace = olApp.GetNamespace("MAPI")
Set OLinbox = OLspace.GetDefaultFolder(olFolderInbox)
Dim OLmail As Outlook.MailItem
For Each OLmail In OLinbox.Items
If OLmail.Subject = "Valider: " Then
Dim OLbody As String
OLbody = OLmail.SenderName
olresponse = OLmail.VotingResponse
oltime = OLmail.CreationTime
olrecus = OLmail.ReceivedTime
olreceipt = OLmail.ReadReceiptRequested
Sheets(1).Range("A" & i).Select
With Selection
.Value = OLbody
End With
Sheets(1).Range("B" & i).Select
With Selection
.Value = olresponse
End With
Sheets(1).Range("C" & i).Select
With Selection
.Value = oltime
End With
Sheets(1).Range("D" & i).Select
With Selection
.Value = olrecus
End With
Sheets(1).Range("E" & i).Select
With Selection
.Value = olreceipt
End With
ElseIf OLmail.Subject = "Refuser: " Then
OLbody = OLmail.SenderName
olresponse = OLmail.VotingResponse
oltime = OLmail.CreationTime
olrecus = OLmail.ReceivedTime
Sheets(1).Range("A" & i).Select
With Selection
.Value = OLbody
End With
Sheets(1).Range("B" & i).Select
With Selection
.Value = olresponse
End With
Sheets(1).Range("C" & i).Select
With Selection
.Value = oltime
End With
Sheets(1).Range("D" & i).Select
With Selection
.Value = olrecus
End With
Sheets(1).Range("E" & i).Select
End If
i = i + 1
Next
End Sub
(Dans un dernier temps, je ne suis pas contre des idées pour organiser les relances de mails si pas de réponses après x jours)
Je précise que je ne comprends évidemment pas tout tout tout des subtilités des lignes de code que je vous écris ici.
Je suis à l'écoute de toute piste intéressante
Merci par avance
Dernière édition: