Création de tâche outlook à partir d'un tableau excel
sarahn
-
thev Messages postés 2073 Date d'inscription Statut Membre Dernière intervention -
thev Messages postés 2073 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 !
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:
- Création de tâche outlook à partir d'un tableau excel
- Trier un tableau excel - Guide
- Tableau word - Guide
- Imprimer un tableau excel - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Liste déroulante excel - Guide
1 réponse
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"
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