Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Outlook > VBA Outlook
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/02/2008, 15h55   #1
Invité de passage
 
Inscription : octobre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 6
Points : 1
Points : 1
Par défaut Copie de calendrier en VBA

Bonjour à tous,

Je débute dans le VBA Outlook bien que j'ai des connaissances en VBA Excel. J'aimerais créer une macro me permettant de copier un élément du calendrier personnel vers un calendrier public (Exchange). Lorsque qu'un utilisateur crée un élément calendrier et clique sur Enregister et Fermer, j'aimerais qu'il est un Userform lui demandant si il veut copier cet élément dans le calendrier public.

J'ai bien trouvé sur ce forum est sur d'autres des codes permettant ce genre de chose mais je n'arrive pas à les utiliser. En effet je n'arrive même pas à afficher un MsgBox à la création d'un élément.

Voici le code que j'ai utilisé:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Private Sub Application_Startup()
 
'Evénement déclenché lors du démarrage d'Outlook
 
MsgBox "Outlook ouvert"
 
'Charger la collection des tâches existantes
 
Set oTaskItems = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderCalendar).Items
 
End Sub
 
Private Sub oTaskItems_ItemAdd(ByVal Item As Object)
 
'Evénement déclenché lors de la création d'un rendez vous
 
 
MsgBox "Vous venez de créer " & Item.Subject
 
 
End Sub
 
Private Sub oTaskItems_ItemChange(ByVal Item As Object)
 
'Evénement déclenché lors de la modification d'un rendez vous
 
MsgBox "Vous venez de modifier la tâche " & Item.Subject
 
End Sub

Le premier MsgBox fonctionne bien, mais ensuite cela ne fonctionne plus.


Quelqu'un pourrait-il me guider un peu?

Merci par avance.
RaceX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2008, 16h45   #2
Membre chevronné
 
Avatar de Oliv-
 
Inscription : mars 2006
Messages : 643
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : mars 2006
Messages : 643
Points : 699
Points : 699
Salut,
Cela concerne bien les rdv ? pas les taches ?
en fait c'est un peu compliqué car il existe un évenement close pour l'élément RDV mais il faut l'initialisé voir l'aide sur CLOSE.

Tu peux vérifier par contre l'ajout de rdv dans le dossier calendrier :

dans THISOUTLOOKSESSION :
Code :
1
2
3
4
5
6
7
8
9
10
Dim WithEvents colSentItems As Items
 
Private Sub Application_Startup()
'pour evenement itemadd
   Dim NS As Outlook.NameSpace
   Set NS = Application.GetNamespace("MAPI")
   Set colSentItems = NS.GetDefaultFolder(olFolderCalendar).Items
   Set NS = Nothing
 'Fin Section
End Sub
Code :
1
2
3
4
Private Sub colSentItems_ItemAdd(ByVal Item As Object)
'By Oliv ' janv 2008 pour Outlook 2003 feat. Sue Mosher
msgbox item.subject
end sub

Pour copier un élément dans un autre dossier il faut le copier dans le même puis le déplacer.
voici l'exemple de l'aide :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub CopyItem()
	Dim myolApp As New Outlook.Application
	Dim myNameSpace As Outlook.NameSpace
	Dim myFolder As Outlook.MAPIFolder
	Dim myNewFolder As Outlook.MAPIFolder
	Dim myItem As Outlook.MailItem
	Dim myCopiedItem As Outlook.MailItem
	Set myolApp = CreateObject("Outlook.Application")
	Set myNameSpace = myolApp.GetNamespace("MAPI")
	Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)
	Set myNewFolder = myFolder.Folders.Add("Saved Mail", olFolderDrafts)
	Set myItem = myolApp.CreateItem(olMailItem)
	myItem.Subject = "Speeches"
	Set myCopiedItem = myItem.Copy
	myCopiedItem.Move myNewFolder
End Sub
et pour le dossier public ca doit être
Set Dossierpublic= Application.GetNamespace("MAPI").GetDefaultFolder(olPublicFoldersAllPublicFolders)
Oliv- est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h48.


 
 
 
 
Partenaires

Hébergement Web