Help!! VBA-Outlook appointment! modification, suppression de rdv [Résolu]

BrianBellamy 24 Messages postés jeudi 9 novembre 2000Date d'inscription 1 avril 2005 Dernière intervention - 24 mars 2005 à 08:32 - Dernière réponse : BrianBellamy 24 Messages postés jeudi 9 novembre 2000Date d'inscription 1 avril 2005 Dernière intervention
- 25 mars 2005 à 10:59
Si quelqu'un était en mesure de m'aider, il pourrait m'être d'un très grand secours!!
Après avoir réussi à insérer un rendez vous dans un calendrier Outlook avec ce code sous une interface Access que j'ai crée:

Private Sub Command16_Click()

Dim objOutlook As Outlook.Application
Dim apptOutlook As Outlook.AppointmentItem
Set objOutlook = CreateObject("Outlook.Application")
Set apptOutlook = objOutlook.CreateItem(olAppointmentItem)


With apptOutlook
.start = Date.Value & Space(1) & Hdbt.Value
.End = Date.Value & Space(1) & Hfin.Value
.Subject = "réunion"
.Body = "chose"
.ReminderSet = True
.Save
End With

Set apptOutlook = Nothing


End Sub

Je dois offrir la possibilité dans une interface le moyen de modifier et de supprimer l'un de ces rendez vous. S'il vous plait, même si vous n'êtes pas sur d'avoir la réponse, laissez moi quelques pistes, adresses internet ou bout de code susceptible d'avoir un lien avec ce que je fais.

Merci d'avance
Afficher la suite 

10 réponses

DarkCid 195 Messages postés mardi 22 février 2005Date d'inscription 26 octobre 2009 Dernière intervention - 25 mars 2005 à 08:57
+3
Utile
Yaoh !

Tout le plaisir fut pour moi

Dans mon cas, cela peut paraître bête mais mes variables sont des string ke g construites pour k'elles ressemebles à ça : "jj/mm/aaaa 00:00"

Attention ! Ne met pas les secondes sinon il va geuler.

Sinon, je viens de mettre une source à ce sujet ki s'appelle Outlook : Envoi de mail et ajout, modification et suppression de rdv dans le calendrier, tu pourra aller y jeter un coup d'oeil
Cette réponse vous a-t-elle aidé ?  
DarkCid 195 Messages postés mardi 22 février 2005Date d'inscription 26 octobre 2009 Dernière intervention - 25 mars 2005 à 09:23
+3
Utile
dans ce cas, tu devrais construire ta chaine de caractère toi-meme, par exemple avec la fonction datepart ki extraie une partie d'une date
Syntaxe = DatePart(constante,Date)

Constante définit k'elle partie tu veux :
"yyyy" = année
"m" = mois
"d" = jour
"h" = heur
"n" = minute
"s" = seconde
Cette réponse vous a-t-elle aidé ?  
DarkCid 195 Messages postés mardi 22 février 2005Date d'inscription 26 octobre 2009 Dernière intervention - 25 mars 2005 à 10:10
+3
Utile
Essaye de mettre tes variables DbtRecherche et FinRecherche en String.
En théorie (g horreur de cette expression mais bon), il ne devrait pas de remttre les secondes.

Sinon, pour te donner un exemple de comment utiliser datepart :

DbtRecherche = DatePart("d",Date.Value) & "/" & DatePart("m",Date.Value) & "/" & DatePart("yyyy",Date.Value) & " " & DatePart("h",HDbt.Value) & ":" & DatePart("n",HDbt.Value)

La partie en orange, c ke je suis pas sûr à 100% ke datepart marche avec une variable juste heure, à tester.

Mais bon, ne t'en fait pas, depuis ke l'informatique existe, les dates ont tjrs fait chier nous autres programmeurs et c'est pas demain la veille ke sa changera. Tout le monde a un jour eu une crise de nerf face à une date (moi par exemple dès ke je vois la date d'anniversaire de ma copine, hop crise de nerf pour trouver un cadeau... enfin là je crois ke je m'écarte du sujet )
Cette réponse vous a-t-elle aidé ?  
DarkCid 195 Messages postés mardi 22 février 2005Date d'inscription 26 octobre 2009 Dernière intervention - 24 mars 2005 à 14:35
+2
Utile
Yaoh !

Dim outlk As Outlook.Application
Dim appt As Outlook.AppointmentItem
Dim Nom As Outlook.NameSpace
Dim Calend As Outlook.Items

Set outlk = CreateObject("Outlook.Application")
Set Nom = outlk.GetNameSpace("MAPI")
Set Calend = Nom.GetDefaultFolder(olFolderCalendar).Items
Calend.Sort "[Start]"
Calend.IncludeRecurrences = True
Set appt = Calend.Find("[Start] >= """ & datedébutrecherche & """ and [Start] <= """ & datefinrecherche & """")
While TypeName(appt) <> "Nothing"

blabla

set appt = calend.findnext
Wend

dans le blabla de la boucle while, tu as deux choix :

si tu veu modifier un rdv dont tu connais le nom, la date...

if appt.Subject (ou aut chose, ici je prends l'exemple du texte du rdv) = ce ke tu recherche then
appt.subject = nouveau subject
appt.save
end if

si tu veu supprimer

if appt.Subject (ou aut chose, ici je prends l'exemple du texte du rdv) = ce ke tu recherche then
appt.delete
end if

Voilà, j'espère t'avoir aider !
BrianBellamy 24 Messages postés jeudi 9 novembre 2000Date d'inscription 1 avril 2005 Dernière intervention - 25 mars 2005 à 08:52
0
Utile
Merci!!! Vraiment un grand merci à toi!! Pour un peu, je t'embrasserai mais bon... une poignée de main suffira je pense
La commande supprimer marche à merveille mais je voulais te demander une chose pour la modification: la variable "datedébutrecherche", peux tu me donner son contenu parce que apparement, la manière dont je lui donne la date ( datedébutrecherche = VBA.Format(Date.Value & Space(1) & HDbt.Value, "Short Date") ) ne fonctionne pas.

Voila j'ose encore te déranger..
En tout cas, merci énormément pour le poids que tu m'as déjà enlevé!!!
BrianBellamy 24 Messages postés jeudi 9 novembre 2000Date d'inscription 1 avril 2005 Dernière intervention - 25 mars 2005 à 09:17
0
Utile
Ah.. donc mon problème viendrait des secondes... mais malgré le fait que je ne lui propose dans ma combo box des horaires du type "08:00", "09:00" etc.. lors de la lecture du programme, il convertit ce hh/mm en hh/mm/ss d'après ce que je vois...
BrianBellamy 24 Messages postés jeudi 9 novembre 2000Date d'inscription 1 avril 2005 Dernière intervention - 25 mars 2005 à 09:59
0
Utile
Pourrais tu être un tout petit peu plus précis s'il te plait.. voici mon code:

Dim OlApp As Outlook.Application
Dim Nom As Outlook.NameSpace
Dim Calend As Outlook.Items
Dim Appt As Outlook.AppointmentItem
Dim DbtRecherche As Date
Dim FinRecherche As Date

Set OlApp = CreateObject("Outlook.Application")
Set Nom = OlApp.GetNamespace("MAPI")


DbtRecherche = Date.Value & Space(1) & HDbt.Value
FinRecherche = Date.Value + 1 & Space(1) & Hfin.Value


Set Calend = Nom.GetDefaultFolder(olFolderCalendar).Items
Calend.Sort "[Start]"
Calend.IncludeRecurrences = True


Set Appt = Calend.Find("[Start] >= """ & DbtRecherche & """ and [Start] <= """ & FinRecherche & """")


While TypeName(Appt) <> "Nothing"

If Appt.start = DbtRecherche Then
Appt.Display
End If

Set Appt = Calend.FindNext

Wend


End Sub

A quelle variable suis-je sensé donner la variable DatePart? DbtRecherche et FinRecherche ou HDbt et Hfin?

Merci d'avance
BrianBellamy 24 Messages postés jeudi 9 novembre 2000Date d'inscription 1 avril 2005 Dernière intervention - 25 mars 2005 à 10:36
0
Utile
LOL! effectivement les dates sont un réel problème mais cela ne l'est plus pour mon programme désormais!! encore merci!!!

voici le code après changement:

Set OlApp = CreateObject("Outlook.Application")
Set Nom = OlApp.GetNamespace("MAPI")


DbtRecherche = DatePart("d", DDate.Value) & "/" & DatePart("m", DDate.Value) & "/" & DatePart("yyyy", DDate.Value) & " " & DatePart("h", HDbt.Value) & ":" & DatePart("n", HDbt.Value)
FinRecherche = DatePart("d", DDate.Value) & "/" & DatePart("m", DDate.Value) & "/" & DatePart("yyyy", DDate.Value) & " " & DatePart("h", HFin.Value) & ":" & DatePart("n", HFin.Value)


Set Calend = Nom.GetDefaultFolder(olFolderCalendar).Items
Calend.Sort "[Start]"
Calend.IncludeRecurrences = True


Set Appt = Calend.Find("[Start] >= """ & DbtRecherche & """ and [Start] <= """ & FinRecherche & """")


DbtRecherche = DDate.Value & Space(1) & HDbt.Value
FinRecherche = DDate.Value & Space(1) & HFin.Value
(obligatoire, sinon il me remet un type mismatch avec le "Appt.start" d'en dessous)


While TypeName(Appt) <> "Nothing"

If Appt.start <> DbtRecherche Then
Appt.Display
End If

Set Appt = Calend.FindNext
Wend


End Sub

Dis moi, tu ne saurais pas comment envoyer les demandes sur un autre calendrier que celui par défaut par hasard?? parce que ce sera probablement le prochain sujet d'un de mes prochains messages sur le forum!

Merci beaucoup et j'espère qu'une prochaine fois, j'arriverais a te rendre l'appareil
DarkCid 195 Messages postés mardi 22 février 2005Date d'inscription 26 octobre 2009 Dernière intervention - 25 mars 2005 à 10:43
0
Utile
Malheureusment non.
Mais si tu trouves fait mi signe, sa m'intéresse, meme si mon problème actuel n'est pas de faire des modif sur un aut calendrier, mais carrément sur un calendrier d'un autre poste de mon réseau !!
BrianBellamy 24 Messages postés jeudi 9 novembre 2000Date d'inscription 1 avril 2005 Dernière intervention - 25 mars 2005 à 10:59
0
Utile
Ah d'accord... eh bien bon courage à toi! Je ne t'oublie pas si jamais j'ai la moindre piste, je t'enverrai ca(dans un msg, forum...)

Bonne continuation!!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.