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

sarahn -  
thev Messages postés 1985 Date d'inscription   Statut Membre Dernière intervention   -
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 1985 Date d'inscription   Statut Membre Dernière intervention   713
 
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