IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Outlook Discussion :

transfert de message de dossier vers boite de réception


Sujet :

Outlook

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 12
    Points
    12
    Par défaut transfert de message de dossier vers boite de réception
    Bonjour à tous,

    Je débute en VBA sur outlook et j'aurais besoin de votre aide pour contourner un problème. je cherche à concevoir une macro qui transfert les mails de tous les fichiers de ma boite de réception vers la boite de réception (RAZ du tri).

    Le problème c'est que, parfois, tous les mails ne sont pas déplacer. J'avoue ne pas en comprendre la cause. A savoir, avant j'avais utilisé une méthode de contage suivi d'une boucle jusqu'à la valeur obtenue via contage. Alors j'avais des message d'erreur liés à la taillde de la matrice.

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub RAZ()
     
    Dim myNameSpace As Outlook.NameSpace
    Dim myFolder As Outlook.Folder
     
    Set myNameSpace = Application.GetNamespace("MAPI")
    Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)
     
    For Each Folder In myFolder.Folders
        nombremail = Folder.Items.Count
        MsgBox nombremail
        For Each Item In Folder.Items
            Item.Move (myFolder)
        Next
    Next
     
    End Sub
    Je vous remercie pour toute l'aide que vous saurez m'apporter.

    Llebucheur

    Bon ben en fait mon code ne fonctionne plus du tout...

    J'ai à chaque fois une incompatibilité de type.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Je viens de comprendre que mon incompatibilité de type venait des parenthèse sur le dossier de destination.

    Mon code est donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub RAZ()
     
    Dim myNameSpace As Outlook.NameSpace
     Dim myFolder As Outlook.Folder
     
    Set myNameSpace = Application.GetNamespace("MAPI")
     Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)
     
    For Each Folder In myFolder.Folders
         For Each Item In Folder.Items
                Item.Move myFolder
         Next
     Next
     
    End Sub
    PS: Je viens de comprendre que le problème vient de for each qui est un faux ami... Je vais voir comment modifier

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Je viens de trouver la solution à mon problème. Je la poste au cas ou quelqu'un rencontre un jour ce problème. Je l'ai enrichie de la suppression des dossiers vides.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Sub RAZ()
     
    Dim myNameSpace As Outlook.NameSpace
    Dim myFolder As Outlook.Folder
    Dim myItem As Outlook.Items
     
    Set myNameSpace = Application.GetNamespace("MAPI")
    Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)
     
    For i = myFolder.Folders.Count To 1 Step -1
        Set dossiercourant = myFolder.Folders(i)
        For j = dossiercourant.Items.Count To 1 Step -1
            Set mymail = dossiercourant.Items(j)
            mymail.Move myFolder
        Next
        If dossiercourant.Items.Count = 0 Then
            MyPrompt = dossiercourant.Name & " is empty. Do you want to delete it?"
            If MsgBox(MyPrompt, vbYesNo + vbQuestion) = vbYes Then
                dossiercourant.Delete
            End If
        End If
    Next
     
    Set myNameSpace = Nothing
    Set myFolder = Nothing
    Set dossiercourant = Nothing
    Set mymail = Nothing
     
    End Sub

    P.S : Merci aux administrateur d'avoir repris mes postes et insérez les balises qui vont bien.

    Bonne continuation à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. transfert d'une variable string vers rapport RAVE
    Par segnac dans le forum Bases de données
    Réponses: 4
    Dernier message: 30/11/2013, 07h24
  2. [JMS] [ActiveMQ] Transfert des messages vers une autre queue
    Par austin P. dans le forum Java EE
    Réponses: 0
    Dernier message: 02/06/2009, 15h16
  3. [BOXI R2] envoi vers boite de réception
    Par dsoexo7 dans le forum Administration-Migration
    Réponses: 1
    Dernier message: 24/01/2008, 00h52
  4. Messages Privés : reste en boite d'envoi ? Pourquoi ?
    Par Perceval dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 20/09/2005, 17h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo