Création de tâche outlook à partir d'un tableau excel

Fermé
sarahn - 13 juin 2016 à 16:28
thev Messages postés 1852 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 23 avril 2024 - 13 juin 2016 à 18:53
Bonjour,

j'espère que vous allez bien

Mon problème est comme suit : J'ai un planning sur Excel sous forme de tableau contenant des noms d'équipements dans une colonne et dans la colonne suivante des dates du contrôle prochain de ces équipements. J'ai essayé de créer une macro pour permettre à partir de ce tableau de créer une tâche qui va s'afficher sur ma messagerie Outlook un jour avant la date du contrôle prévu. Malheureusement, le programme ne marche pas comme il faut (Les dates de rappel ne sont pas respectées comme sur mon tableau excel, les cellules vides sont aussi traitées et sortent dans le rappel outlook avec une date aléatoire) et avec mon niveau faible en VBA, je ne sais plus comment avancer.

Je vous écris ici mon code pour plus de clartés, sachant que A et B sont les colonnes qui contiennent respectivement le nom de l'équipement et la date (les données commencent à partir de la ligne 2)

Code :
Sub NouveauRDV_Calendrier()
'nécéssite d'activer la référence Microsoft Outlook 10.0 Object Library
Dim myOlApp As New Outlook.Application
Dim MyItem As Outlook.AppointmentItem
Dim Cell As Range

For Each Cell In Range("A2:A" & Range("A6").End(xlUp).Row)

Set MyItem = myOlApp.CreateItem(olAppointmentItem)

if not isempty (cell) then

With MyItem
.MeetingStatus = olNonMeeting
.Subject = Cell.Offset(1, 0)
.Start = Cell.Offset(1, 1)
.Save
End With

Set MyItem = Nothing

Endif

Next Cell

End Sub
Merci à vous !

A voir également:

1 réponse

thev Messages postés 1852 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 23 avril 2024 681
Modifié par thev le 13/06/2016 à 19:00
Bonjour,

1) A mon avis, la cellule vide provient de votre décalage d'une ligne "Cell.Offset(1, 1)" pour la dernière cellule de la plage. J'ai donc supprimé ce décalage.

2) il vous manque l'option "Reminderset"

 
Sub NouveauRDV_Calendrier()
'nécéssite d'activer la référence Microsoft Outlook 10.0 Object Library
Dim myOlApp As New Outlook.Application
Dim MyItem As Outlook.AppointmentItem
Dim Cell As Range

For Each Cell In Range([A2], [A6].End(xlUp))

Set MyItem = myOlApp.CreateItem(olAppointmentItem)

If Not IsEmpty(Cell.Value) Then

With MyItem
.MeetingStatus = olNonMeeting
.Subject = Cell.Value
.Start = Cell.Offset(, 1).Value
.ReminderSet = True
.Save
End With

Set MyItem = Nothing

End If

Next Cell

End Sub


 
1