RdV dans Outlook [Résolu]

Signaler
Messages postés
13
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
12 avril 2006
-
Messages postés
13
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
12 avril 2006
-
Bonjour,

J'ai réussi à ajouter des RdV dans Outlook via Access mais je n'arrive pas à les supprimer !!!

Quelqu'un pourait-il m'aider ?

Merci d'avance.

18 réponses

Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
23
rebonsoir

ce n'etait qu'un exemple ...

tu peux l'adapter pour boucler sur les RDV et les supprimer de façon conditionnelle


cette adaptation supprime un RDV si le sujet est "MissionX"

Set OlMapi = OlApp.GetNamespace("MAPI")
Set OlFolder = OlMapi.GetDefaultFolder(olFolderCalendar)
Set OlItems = OlFolder.Items

For Each OlAppointment In OlItems
If OlAppointment.Subject = "MissionX" Then
OlAppointment.Delete
Exit Sub
End If
Next

bonne soiree
michel
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
23
bonsoir

j'espere que cet exemple pourra t'aider

'nécéssite d'activer la référence Microsoft Outlook 10.0 Object Library
Dim OlApp As New Outlook.Application
Dim OlMapi As Outlook.NameSpace
Dim OlFolder As Outlook.MAPIFolder
Dim OlItems As Outlook.Items
Dim OlAppointment As Outlook.AppointmentItem

Set OlMapi = OlApp.GetNamespace("MAPI")
Set OlFolder = OlMapi.GetDefaultFolder(olFolderCalendar)
Set OlItems = OlFolder.Items

Set OlAppointment = OlItems.Item(1)
'Suppression du premier RDV dans le calendrier :
'1 étant le 1er rdv par ordre d'index du calendrier
'l'index correspond à l'odre de creation et non par ordre de date
OlAppointment.Delete

bonne soiree
michel
Messages postés
13
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
12 avril 2006

Bonsoir,

Merci beaucoup, mais je souhaite supprimer un rdv bien particulier, les rdv ajoutés sont des "missions" de mon travaille, je dois donc pouvoir en supprimer un en particulier lorsque mon emploi du temps change...
Messages postés
13
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
12 avril 2006

Messages postés
13
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
12 avril 2006

Pour info voici le code que j'utilise pour inséré un rdv :

Private Sub AjoutRV_Click()
On Error GoTo AjoutRV_Err
' Enregistrer d'abord pour s'assurer que les champs requis sont remplis.
DoCmd.RunCommand acCmdSaveRecord
' Quitter la procédure si le rendez-vous a été ajouté à Outlook.
If Me!AjoutéàOutlook = True Then
MsgBox " Ce rendez-vous a déjà été ajouté dans Microsoft Outlook "
Exit Sub
' Ajouter un nouveau rendez-vous.
Else
Dim outobj As outlook.Application
Dim outappt As outlook.AppointmentItem
Set outobj = CreateObject("outlook.application")
Set outappt = outobj.CreateItem(olAppointmentItem)
With outappt
.Start = Me!APPOINTMENT
.DURATION = Me!DURATION / 60
.Subject = Me!S_NAME
.Body = "Case : " & Me!ID_NUMBER & " Générix : " & Me!X_COMMAND_ID & vbCrLf & "Contact : " & Me!S_LAST_NAME & " " & Me!S_FIRST_NAME & vbCrLf & "Tél : " & Me!PHONE & " Mob : " & Me!X_MOBILE_PHONE & vbCrLf & "Type : " & Me!X_CATEGORY_OF_WORK & " " & Me!S_TITLE & vbCrLf & "ASI : " & Me!S_X_DESCRIPTION_FR & " " & Me!S_SERIAL_NO & vbCrLf & vbCrLf & Me!CASE_HISTORY & vbCrLf & "RdV ajouté par le Module de Synchro 1.4"
.Location = Me!ADDRESS & " " & Me!ADDRESS_2 & " " & Me!ZIPCODE & " " & Me!S_CITY
.Categories = "Professionnel"
.ReminderSet = False
.Save
End With
End If
' Libérez la variable objet Outlook.
Set outobj = Nothing
' Définir l'indicateur AjoutéàOutlook, enregistrer, afficher un message.
Me!AjoutéàOutlook = True
DoCmd.RunCommand acCmdSaveRecord
MsgBox " Rendez-vous ajouté ! "
Exit Sub
AjoutRV_Err:
MsgBox " Erreur " & Err.Number & vbCrLf & Err.Description
Exit Sub
End Sub
Messages postés
13
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
12 avril 2006

Bonjour

C'est super, merci de ton aide, avec quelques modifications ça fonctionne (enfin !) je me serai pris la tete pendant longtemps pour ça !

à la prochaine !
Messages postés
13
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
12 avril 2006

Re bonjour

Chose trés étrange : les RdV que j'arrive à enlever sont uniquement les RdV fixés à 09:00:00 heure

Trés étrange non ?

Tu sais d'où ça peut venir ?

Voici le code au cas où :


Private Sub Commande62_Click()
On Error GoTo Err_Commande62_Click


Dim OlApp As New outlook.Application
Dim OlMapi As outlook.NameSpace
Dim OlFolder As outlook.MAPIFolder
Dim OlItems As outlook.Items
Dim OlAppointment As outlook.AppointmentItem

Set OlMapi = OlApp.GetNamespace("MAPI")
Set OlFolder = OlMapi.GetDefaultFolder(olFolderCalendar)
Set OlItems = OlFolder.Items

For Each OlAppointment In OlItems
If OlAppointment.Start = Me!APPOINTMENT Then
OlAppointment.Delete
Me!AjoutéàOutlook = False
DoCmd.RunCommand acCmdSaveRecord
MsgBox " Rendez-vous supprimé ! "
End If

Set OlApp = Nothing
Next
Exit Sub

Exit_Commande62_Click:
Exit Sub


Err_Commande62_Click:
MsgBox Err.Description
Resume Exit_Commande62_Click

Le format de APPOINTMENT est jj/mm/aaa hh:mm:ss

merci
Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
23
bonsoir

à quoi correspond Me!APPOINTMENT ?

bonne soiree
michel
Messages postés
13
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
12 avril 2006

Bonsoir,

ça correspond à la date et l'heure du RdV affiché sur le formulaire d'access

Me pour la ligne de donnée active et APPOINTEMENT la valeur
Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
23
rebonsoir

verifie que ta requete ne renvoie pas toujours la meme heure (09:00:00) ,car à mon avis , le probleme vient de là

bonne soiree
michel
Messages postés
13
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
12 avril 2006

rerebonsoir

la requete ?? quelle requete ??

Appointement est une donnée fixe dans la table !

je ne comprends pas là ! (déja que je comprends pas beaucoup vb... )

en tout cas, merci pour ta patience et tes réponses rapides

à bientot
Messages postés
13
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
12 avril 2006

Alors là je comprends plus rien : quand je change de critère pour la suppression en mettant le sujet, même topo : les RdV fixés à 09:00:00 heure se retirent les autres non !

c'est un truc de fou !
Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
23
bonsoir

excuse moi je me suis mal exprimé :

que contient Me!APPOINTMENT ?


La propriété Start ( If OlAppointment.Start ...) renvoie ou définit une valeur de type Date qui indique la date et l'heure de début du rendez-vous

Me!APPOINTMENT doit donc correspondre à un format de ce type : #8/2/2004 11:30:00 AM#

bonne soiree
michel
Messages postés
13
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
12 avril 2006

bonsoir,

Je comprend mieux pourquoi ça marche pas : AM/PM or dans appointement c'est sous la forme : 29/03/2006 14:00:00

y a-t-il moyen de le transformer en valeur sans AM/PM ?

merci
Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
23
bonsoir

sans garantie , tu peux essayer et adapter ces 2 synthaxes (testé avec Excel2002)

If OlAppointment.Start = Format(Me!APPOINTMENT, "[$-409]d/m/yy h:mm AM/PM;@") Then

ou


If OlAppointment.Start = Format(Me!APPOINTMENT, "d/m/yy h:mm AM/PM;@") Then

bonne soiree
michel
Messages postés
13
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
12 avril 2006

bonsoir,

Ces "format" permet d'avoir des heures sous le format 24H ???

Merci pour toutes tes réponses,

bonne soirée
Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
23
bonsoir

Dans cet exemple , la fonction Format transforme Me!APPOINTMENT au format Date AM/PM , pour qu'il puisse etre comparé au format stantard d'outlook

sinon tu pourrais aussi essayer un format de ce type

If Format(OlAppointment.Start, "dd/mm/yyyy h:mm;@") = Me!APPOINTMENT Then

bonne soirée
michel
Messages postés
13
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
12 avril 2006

Bonjour,
Excuse pour le moment de silence, j'étais occupé à autre chose,
Je te remercie pour les info, le coup du format ne fonctionne pas mais j'ai contournée le problème en modifiant les données dans le sujet, je me pencherai sur le sujet + tard.

Par contre, si tu sais comment envoyer ces mêmes rdv dans lotus notes, l'info serait la bienvenue, car je ne trouve pas ! (ni l'envoi ni la suppéssion !)

A + tard, et encore merci,

Romain.