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

VBA Outlook Discussion :

Récupérer le répertoire actif dans Outlook


Sujet :

VBA Outlook

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 29
    Points : 24
    Points
    24
    Par défaut Récupérer le répertoire actif dans Outlook
    Bonjour,

    Je suis très novice en programmation mais j’avais tout de même réussi à faire une macro sous Outlook.

    Cette macro consiste à renommer l'objet du mail en ajoutant la date de réception devant, exemple:
    Confirmation commande devient 20131114 Confirmation commande

    Je fais également des remplacements de textes divers.

    Cette macro marche uniquement dans le dossier boite de réception de Outlook.

    J'ai désormais plusieurs compte imap et je souhaiterais que la macro s'exécute sur le dossier actif ou en subrillance sous Outlook.

    Voici le code actuel:

    Sub ObjetDate()
    Dim oMail As MailItem
    Dim myFolder As Folder
    Dim myOlApp As Outlook.Application
    Dim myNamespace As NameSpace
    Dim StLeft As String


    Set myOlApp = Outlook.Application
    Set myNamespace = myOlApp.GetNamespace("MAPI")
    Set myFolder = myNamespace.GetDefaultFolder (olFolderInbox)

    For Each oMail In myFolder.Items
    oMail.Subject = Replace(oMail.Subject, "RE: ", "")
    oMail.Save
    oMail.Subject = Replace(oMail.Subject, "Re: ", "")
    oMail.Save
    oMail.Subject = Replace(oMail.Subject, "TR: ", "")
    oMail.Save
    oMail.Subject = Replace(oMail.Subject, "TR :", "")
    oMail.Save
    oMail.Subject = Replace(oMail.Subject, "Fwd: ", "")
    oMail.Save
    StLeft = Mid(oMail.ReceivedTime, 7, 4) & Mid(oMail.ReceivedTime, 4, 2) & Mid(oMail.ReceivedTime, 1, 2)
    If Left(oMail.Subject, 8) <> StLeft Then
    If IsNumeric(Mid(oMail.Subject, 1, 1)) = True And _
    IsNumeric(Mid(oMail.Subject, 2, 1)) = True And _
    IsNumeric(Mid(oMail.Subject, 3, 1)) = True And _
    IsNumeric(Mid(oMail.Subject, 4, 1)) = True And _
    IsNumeric(Mid(oMail.Subject, 5, 1)) = True And _
    IsNumeric(Mid(oMail.Subject, 6, 1)) = True And _
    IsNumeric(Mid(oMail.Subject, 7, 1)) = True And _
    IsNumeric(Mid(oMail.Subject, 8, 1)) = True Then
    If Mid(oMail.Subject, 9, 1) = " " Then
    oMail.Subject = Mid(oMail.Subject, 10)
    oMail.Save
    Else
    oMail.Subject = Mid(oMail.Subject, 9)
    oMail.Save
    End If
    oMail.Subject = Mid(oMail.ReceivedTime, 7, 4) & Mid(oMail.ReceivedTime, 4, 2) & Mid(oMail.ReceivedTime, 1, 2) & " " & oMail.Subject
    oMail.Save
    Else
    oMail.Subject = Mid(oMail.ReceivedTime, 7, 4) & Mid(oMail.ReceivedTime, 4, 2) & Mid(oMail.ReceivedTime, 1, 2) & " " & oMail.Subject
    oMail.Save
    End If
    End If
    Next oMail
    End Sub
    Quelle valeur dois-je affecter à myfolder?

    Merci d'avance de vos contributions.

  2. #2
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Salut,
    il faut juste changer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set myFolder = myNamespace.GetDefaultFolder (olFolderInbox)
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Set myFolder = ActiveExplorer.CurrentFolder.Items

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 29
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    Merci pour la réponse, mais cela me donne une erreur d'exécution '13':

    Incompatibilité de type.

    Une idée?

  4. #4
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Salut effectivement
    Set myFolder = ActiveExplorer.CurrentFolder

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 29
    Points : 24
    Points
    24
    Par défaut
    Ok cela passe nickel à ce niveau là.

    On peut dire que le problème de base est résolu.

    J'ai désormais un problème au niveau des "oMail.Save".

    Je pense que c'est le fait que ce soit un compte Imap, ça doit le perturber de changer l'intitulé de l'objet, je vais étudier le problème...

    Merci de ta réactivité.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/02/2013, 14h08
  2. Réponses: 0
    Dernier message: 06/08/2007, 13h16
  3. récupérer le path d'un répertoire virtuel dans IIS
    Par ep31 dans le forum Visual C++
    Réponses: 4
    Dernier message: 30/01/2007, 12h20
  4. Récupérer infos page html pour les insérer dans Outlook
    Par andromede88 dans le forum Windows
    Réponses: 4
    Dernier message: 21/09/2006, 14h21
  5. champs à récupérer dans outlook
    Par jeremypic dans le forum Access
    Réponses: 2
    Dernier message: 09/12/2005, 10h16

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