Outlook et la méthode getNext - VB/VBA/VBS - Programmation
Marsh Posté le 28-06-2005 à 23:08:18
Bonjour,
Essaye comme ceci :
Sub Contact()
Dim myOlApp As Outlook.Application
Dim myNamespace As Outlook.NameSpace
Dim myFolder, mytest As Outlook.MAPIFolder
Dim myNewFolder, contfolder As Outlook.MAPIFolder
Dim esscont, mycopy As ContactItem
Dim myitem As Items
Set myOlApp = CreateObject("Outlook.Application" )
Set myNamespace = myOlApp.GetNamespace("MAPI" )
Set myFolder = myNamespace.GetDefaultFolder(olFolderContacts)
Set mytest = myFolder.Folders.Item("test" )
Set contfolder = myFolder.Folders.Item("ess" )
Set myitem = contfolder.Items
Set esscont = myitem.GetFirst
Do Until esscont Is Nothing
If esscont.Categories = "tourisme" Then
Set mycopy = esscont.Copy
mycopy.Move mytest
End If
Set esscont = myitem.GetNext
Loop
End Sub
pelw
P.S. Lorsque tu déclares tes variables de cette façon :
Dim myNewFolder, contfolder As Outlook.MAPIFolder
seule la variable contfolder sera de type Outlook.MAPIFolder. La variable myNewFolder sera quant à elle de type Variant.
Marsh Posté le 27-06-2005 à 09:26:24
salut à tous,
je viens juste de me mettre sur le VBA outlook.
j'ai quelques notions de VBA pour avoir fait quelques applis pour le taf (appli ACCESS).
mon souci :
je veux rechercher dans mon dossier contacts ("ess" ), les contacts avec la catégorie "tourisme" (voir code) et les copier dans un autre dossier contacts ("test" ).
j'ai fait une petite boucle afin d'identifier les contacts avec la catégorie tourisme. la méthode getfirst me positionne bien sur le 1er contact. le 1er getnext me positionne bien sur le 2éme contact. ensuite, la boucle se poursuit sans jamais passer au suivant.
bon, je l'admets C peut être une question de novice ou un bug que je ne connais pas ou le fait que j'ai pas tout mon cerveau ce jour.
merci d'avance
le code :
Sub Contact()
Dim myOlApp As Outlook.Application
Dim myNamespace As Outlook.NameSpace
Dim myFolder, mytest As Outlook.MAPIFolder
Dim myNewFolder, contfolder As Outlook.MAPIFolder
Dim esscont, mycopy As ContactItem
Dim myitem As Items
Set myOlApp = CreateObject("Outlook.Application" )
Set myNamespace = myOlApp.GetNamespace("MAPI" )
Set myFolder = myNamespace.GetDefaultFolder(olFolderContacts)
Set mytest = myFolder.Folders.Item("test" )
Set contfolder = myFolder.Folders.Item("ess" )
Set esscont = contfolder.Items.GetFirst
Do Until esscont Is Nothing
If esscont.Categories = "tourisme" Then
Set mycopy = esscont.Copy
mycopy.Move mytest
End If
Set esscont = contfolder.Items.GetNext
Loop
End Sub