Macro vb pour ms outlook yassine ettarchegue

Soyez le premier à donner votre avis sur cette source.

Snippet vu 55 981 fois - Téléchargée 36 fois

Contenu du snippet

Ce macro VB permet de gerer la boite de recption de MS outlook, permet de deplacer les messages selon les pieces attache et vous permet d'automatiser la sauvegarde des pieces attchee

Source / Exemple :


Sub Deleting()
'Procedure du suppression des message de la boite de reception
Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myfolder = myNameSpace.GetDefaultFolder(olFolderInbox)
If myfolder.Items.Count = 0 Then
MsgBox ("le dossier boite de recption est vide")
Else
For i = 1 To myfolder.Items.Count
Set myItem = myfolder.Items(1)
myItem.Delete
Next
End If
End Sub

Sub depot()

'Procedure de traitement des messages
Dim folder As String
Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myfolder = myNameSpace.GetDefaultFolder(olFolderInbox)
If myfolder.Items.Count = 0 Then
MsgBox ("le dossier boite de recption est vide")
Else
For i = 1 To myfolder.Items.Count
Set myItem = myfolder.Items(i)
If myItem.Attachments.Count > 0 Then
Set myAttachments = myItem.Attachments
folder = place(myAttachments.Item(1).DisplayName)
'sauegarde du piece attachee
myAttachments.Item(1).SaveAsFile "C:\Sauvegarde\" & folder & "\" _
& myAttachments.Item(1).DisplayName
Else
Set myNS = myfolder.Folders("Noattach")
End If
'deplacement du message dans les repertoires de MS Outlook 
Set myCopiedItem = myItem.Copy
myCopiedItem.Move myNS
Next
End If
End Sub
Function place(folder1 As String)
'foction permattant de detecter a partir du piece attache le repertoire ou on va 
' stocker les messages 
Select Case folder1
Case "AG01ARJ.ARJ"
place = "Tunis"
Case "AG02ARJ.ARJ"
place = "Sousse"
Case "AG03ARJ.ARJ"
place = "Gafsa"
Case "AG04ARJ.ARJ"
place = "Mednine"
Case "AG05ARJ.ARJ"
place = "Kef"
Case "&VNOMAG.ARJ"
place = "Sfax"
Case "AG07ARJ.ARJ"
place = "Nabeul"
Case "AG08ARJ.ARJ"
place = "Gabes"
Case "AG09ARJ.ARJ"
place = "Monastir"
Case "AG10ARJ.ARJ"
place = "Kairouan"
Case "AG11ARJ.ARJ"
place = "Bizert"
Case "AG12ARJ.ARJ"
place = "Bardo"
Case "AG13ARJ.ARJ"
place = "Benarous"
Case "AG14ARJ.ARJ"
place = "Beja"
Case "AG15ARJ.ARJ"
place = "Kasrine"
Case "AG16ARJ.ARJ"
place = "Sidibouz"
Case "AG17ARJ.ARJ"
place = "kebili"
Case "AG18ARJ.ARJ"
place = "Jendouba"
Case "AG19ARJ.ARJ"
place = "Zaghouan"
Case "AG20ARJ.ARJ"
place = "Siliana"
Case "AG21ARJ.ARJ"
place = "Tozeur"
Case "AG22ARJ.ARJ"
place = "Tataouine"
Case "AG23ARJ.ARJ"
place = "Mahdia"
Case "AG24ARJ.ARJ"
place = "Tunis2"
Case "AG25ARJ.ARJ"
place = "Tunis3"
Case "Sauvegarde.zip"
place = "Depot\Historique"
Case Else
place = "tarch"
End Select
End Function
Sub sauvegarde()
UserForm1.Show
End Sub

Conclusion :


Faite attention l'execution de ce macro sans vider la boite de reception peut cause des dupplication des messages
avant d'executer ce macro veiller cree des repertoires sous outLook et sur le disque portant ces noms

A voir également

Ajouter un commentaire Commentaires
cs_laestrella Messages postés 93 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 27 juin 2003
26 juin 2003 à 12:11
T'es dingue il faudrait peu être mettre tout cela dans un zip pour les flemmard comme moi. + facile pour archiver
cs_OLLIVIER Messages postés 6 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 30 juin 2003
30 juin 2003 à 11:49
le récup vb des pieces jointes m'interrese mais qui est (olFolderInbox) cela bute dessus chez moi merci d'avance pour ton aide
cs_mesmed Messages postés 10 Date d'inscription lundi 15 avril 2002 Statut Membre Dernière intervention 4 août 2009
1 juil. 2003 à 01:00
ya mr yassine 9adech t7ib rou7ek kateb esmik fi esm program
SebOfBorg Messages postés 94 Date d'inscription dimanche 29 septembre 2002 Statut Membre Dernière intervention 26 août 2009
18 août 2003 à 01:14
Bonjour,

2 petites choses,
La premiere, ton source fait appel a un userform1 qui n'est pas dans le source.
Il semble que tu soit en mesure d'enregistrer la piece jointe dans un repertoire mais tu ne le fais pas.
Pour continuer dans les remarques, il est vrai qu'un source zippé est bien meme si c'est un fichier excel, attention quand meme a ne pas mettre de mot de passe...

c'est tres bien quand même

Pour info OLLIVIER, olfolderinbox est Ol ==> Outlook, Folder ==> Dossier, Inbox ==> Reception.
Peut être n'a tu pas réfarencé Outlook dans ton projet !!

A bientôt
Seb Of_Borg
cyretvirg Messages postés 6 Date d'inscription vendredi 1 août 2003 Statut Membre Dernière intervention 18 septembre 2003
18 sept. 2003 à 12:48
Il s'agit ici d'un VBA, j'aimerais pouvoir faire la même chose en VB6, plus exactement enregistrer tous les mails en fichier txt mais pas ceux de la boite de reception mais d'un dossier de la boite aux lettres. Comment réussir à pointer dans un dossier de la bal ?

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.