VBA Macro Outlook : Exporter résultats de sondages mails (boutons de vote)
Fermé
vn9596
Messages postés
2
Date d'inscription
lundi 13 juillet 2020
Statut
Membre
Dernière intervention
30 juillet 2020
-
Modifié le 13 juil. 2020 à 14:10
vn9596 Messages postés 2 Date d'inscription lundi 13 juillet 2020 Statut Membre Dernière intervention 30 juillet 2020 - 30 juil. 2020 à 07:29
vn9596 Messages postés 2 Date d'inscription lundi 13 juillet 2020 Statut Membre Dernière intervention 30 juillet 2020 - 30 juil. 2020 à 07:29
A voir également:
- VBA Macro Outlook : Exporter résultats de sondages mails (boutons de vote)
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Compte outlook gratuit - Guide
- Erreur 1001 outlook - Accueil - Bureautique
- Synchroniser agenda google et outlook - Guide
1 réponse
vn9596
Messages postés
2
Date d'inscription
lundi 13 juillet 2020
Statut
Membre
Dernière intervention
30 juillet 2020
30 juil. 2020 à 07:29
30 juil. 2020 à 07:29
Bonjour
Ayant bénéfié de l'expérience et la gentillesse de quelqu'un sur un autre forum, je publie ici la solution à mon problème.
J'ai donc à présent une fonctionnalité qui semble marcher :
Contexte : "Pro_Name_VX_X_Ref" est le nom donné à ma cellule de choix de référence, une cellule contenant une liste déroulante, avec pour source de celle-ci un tableau (dans un onglet"Liste 000") de l'ensemble des procédures sur lesquelles je souhaite travailler.
Excel va donc chercher les mails avec les votes d'intérêt dans le dossier "Publication" > Pro_Name_VX_X_Ref.
Ayant bénéfié de l'expérience et la gentillesse de quelqu'un sur un autre forum, je publie ici la solution à mon problème.
J'ai donc à présent une fonctionnalité qui semble marcher :
Contexte : "Pro_Name_VX_X_Ref" est le nom donné à ma cellule de choix de référence, une cellule contenant une liste déroulante, avec pour source de celle-ci un tableau (dans un onglet"Liste 000") de l'ensemble des procédures sur lesquelles je souhaite travailler.
Excel va donc chercher les mails avec les votes d'intérêt dans le dossier "Publication" > Pro_Name_VX_X_Ref.
Function FeuilleExiste(wk As Workbook, stFeuille) As Boolean
On Error Resume Next
FeuilleExiste = Not (wk.Sheets(stFeuille) Is Nothing)
End Function
Sub Votes_import()
Dim Ligne()
Dim olMail As Outlook.MailItem
Set olApp = CreateObject("Outlook.application")
Set olRoot = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Parent
MsgBox (" Attention, le fichier dans le classeur Publications de Outlook doit avoir exactement le même nom que le doc dans le tableau Liste 000 ! ")
Set OLinbox = olRoot.Folders("Publications").Folders(Range("Pro_Name_VX_X_Ref").Value)
Application.DisplayAlerts = False
If FeuilleExiste(ThisWorkbook, Range("Pro_Name_VX_X_Ref").Value) Then
Sheets(Range("Pro_Name_VX_X_Ref").Value).Delete
End If
Worksheets.Add After:=ActiveSheet
ActiveSheet.Name = Range("Pro_Name_VX_X_Ref").Value
Application.DisplayAlerts = True
Sheets(Range("Pro_Name_VX_X_Ref").Value).Cells.Clear
i = 1
Ligne = Array("SenderName", "SenderEmailAdress", "ReceivedTime", "VotingResponse")
Sheets(Range("Pro_Name_VX_X_Ref").Value).Range("F" & i).Resize(, UBound(Ligne) + 1) = Ligne
Sheets(Range("Pro_Name_VX_X_Ref").Value).ListObjects.Add(xlSrcRange, Sheets(Range("Pro_Name_VX_X_Ref").Value).Range("F1").Resize(, UBound(Ligne) + 1), , xlYes).Name = "Réponses"
Sheets(Range("Pro_Name_VX_X_Ref").Value).ListObjects("Réponses").TableStyle = "TableStyleMedium2"
For Each olMail In OLinbox.Items
With olMail
If .Subject Like "Read and understood*" Or .Subject Like "Additional info needed*" Then
i = i + 1
If .SenderEmailType = "EX" Then
SmAdress = .Sender.GetExchangeUser.PrimarySmtpAddress
Else
SmAdress = .SenderEmailAddress
End If
Ligne = Array(.SenderName, SmAdress, .ReceivedTime, .VotingResponse)
Sheets(Range("Pro_Name_VX_X_Ref").Value).Range("F" & i).Resize(, UBound(Ligne) + 1) = Ligne
End If
End With
Next
Set OLinbox = Nothing
Set olRoot = Nothing
Set olApp = Nothing
Sheets(Range("Pro_Name_VX_X_Ref").Value).Activate
Range("Réponses").Sort Key1:=Range("F1"), Header:=xlYes
Sheets(Range("Pro_Name_VX_X_Ref").Value).Columns.AutoFit
End Sub