begin process at 2012 02 13 23:38:34
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

VBA

 > MACRO VB POUR MS OUTLOOK YASSINE ETTARCHEGUE

MACRO VB POUR MS OUTLOOK YASSINE ETTARCHEGUE


 Information sur la source

Note :
6,67 / 10 - par 3 personnes
6,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :VBA Niveau :Expert Date de création :26/06/2003 Date de mise à jour :26/06/2003 11:48:03 Vu :12 679

Auteur : tarchegue

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

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

  • 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
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


 Sources de la même categorie

Source avec Zip GESTION PERSONNEL par oudlarbi
Source avec Zip Source avec une capture CALENDRIER EN VBA POUR EXCEL 2010 par nounou94
Source avec Zip Source avec une capture MANIPULER LES FENETRES ENFANT D'EXCEL par bigfish_le vrai
Source avec Zip Source avec une capture COLLECTION ID par Le Pivert
Source avec Zip Source avec une capture VBA MASQUE DE SAISIE NUMÉRIQUE par acive

Commentaires et avis

Commentaire de laestrella le 26/06/2003 12:11:36

T'es dingue il faudrait peu être mettre tout cela dans un zip pour les flemmard comme moi. + facile pour archiver

Commentaire de OLLIVIER le 30/06/2003 11:49:18

le récup vb des pieces jointes m'interrese mais qui est (olFolderInbox) cela bute dessus chez moi  merci d'avance pour ton aide

Commentaire de mesmed le 01/07/2003 01:00:08

ya mr yassine 9adech t7ib rou7ek kateb esmik fi esm program

Commentaire de SebOfBorg le 18/08/2003 01:14:22

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

Commentaire de cyretvirg le 18/09/2003 12:48:38

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 ?

Commentaire de cyretvirg le 18/09/2003 12:49:36

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 ?

Commentaire de patrickdenantes le 22/01/2004 14:21:04

bonjour, merci pour ton code en VBA qui nous permet de visiter la Tunisie!
As-tu une idée pour accéder directement au Folder "Dossiers Personnels"?  je n'arrive pas avec :
Set myfolder = myNameSpace.GetDefaultFolder("Dossiers Personnels")

Commentaire de patrut le 09/01/2006 23:39:09

Bonjour,
quelqu'un peut-il me donner un tuyau concernant une macro que j'aimerai réaliser pour:
- ouvrir 1 par 1 tous les fichiers txt d'un dossier (dossier outlook ou dossier de l'explorer)
- faire un email avec chacun d'entre eux en copiant la ligne contenant OBJET et en la mettant en sujet, en mettant tout le texte dans le corps du message

voici ce que j'ai écri mais ça ne fonctionne pas

Sub msg()

'Procedure de traitement des messages
Dim folder As String
Dim MonMsg As Outlook.MailItem
Dim Myitem As Object
Dim MsgTxt As String
Dim txt As String
Dim myFolder As Outlook.MAPIFolder
Dim fs, f
    

Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(olFolderDrafts)


If myFolder.Items.Count = 0 Then        'si le dossier Draft est vide, il n'y a pas de msg à envoyer
    MsgBox ("Pas de message dans le dossier Draft")
    Exit Sub
Else
    For i = 1 To myFolder.Items.Count   'pour tous les messages dans le dossier Draft

        ' Ouvrir le fichier attaché
        Const ForReading = 1, ForWriting = 2, ForAppending = 3
        Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
        Set f = fs.GetFile(myFolder.Items(i))
        Set Myitem = f.OpenAsTextStream(ForWriting, TristateUseDefault)


        ' faire un copier de l'ensemble du texte appelé MsgTxt
        myItem.Select.all
        Selection.Copy

        ' faire nouveau message appelé "MonMsg"
        Set MonMsg = olApp.CreateItem(olMailItem)


        ' coller le texte
        MonMsg.Body = txt

        ' chercher le mot OBJET

        ' copier la ligne le contenant

        ' coller le texte dans SUBJECT
        MonMsg.Subject = "  test  "
    
        ' mettre le destinataire toto
        MonMsg.To = "toto@tata.tutu"

        ' envoyer
        MonMsg.Send
    Next

    ' effacer tous les messages dans le répertoire Draft

    For i = 1 To myFolder.Items.Count
        Set Myitem = myFolder.Items(1)
        Myitem.Delete
    Next
End If
End Sub

merci de votre aide

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales