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 :

stocker un mot/numéro spécifique de l'objet d'un mail dans une variable


Sujet :

VBA Outlook

  1. #1
    Candidat au Club
    Homme Profil pro
    apprenti développeur
    Inscrit en
    juillet 2022
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : apprenti développeur

    Informations forums :
    Inscription : juillet 2022
    Messages : 4
    Points : 3
    Points
    3
    Par défaut stocker un mot/numéro spécifique de l'objet d'un mail dans une variable
    Bonjour a tous,
    voila mon problème, j'essaie de stocker une partie de l'objet d'un mail (dans ce contexte je cherche un numéro commençant par 20) mais étant novice dans ce langage j'espère pouvoir trouver de l'aide parmi vous, c'est au niveau du filtre et du restrict que ca plante.
    Je vous envoie mon 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Dim WithEvents colSentItems As Items
     
    Private Sub Application_Startup()
    'pour evenement itemadd
       Dim NS As Outlook.NameSpace
       Set NS = Application.GetNamespace("MAPI")
       Set colSentItems = NS.GetDefaultFolder(olFolderSentMail).Parent.Folders("test").Items 'dossier outlook où la macro va se déclancher
       Set NS = Nothing
     'fin section
     
    End Sub
    Private Sub colSentItems_ItemAdd(ByVal Item As Object)
    Dim myMail As Outlook.MailItem
    Dim myMails As Outlook.Items
    Dim filterStr As String
    Dim test As String
     
        If Item.Class = olMail Then
     
            filterStr = "@SQL=""urn:schemas:httpmail:subject"" like '20%'"
     
            Set myMails = colSentItems.Items.Restrict(filterStr)
            MsgBox (myMails)
     
            'répertoire où déplacer les mails
            Repertoire = ("C:\Users\thibaud.veyssade\OneDrive - PBM\Bureau\testdes\mails\" & Item.Subject & "\")
     
            'retirer les caractères interdits
            Strname = Repertoire & Left(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Item.Subject, "\", ""), "/", ""), ":", ""), "*", ""), "?", ""), "<", ""), ">", ""), "|", ""), ".", ""), """", ""), vbTab, ""), Chr(7), ""), 160)
     
            'affiche l'objet du mail
            MsgBox ("l'objet est " & Item.Subject)
     
            Item.SaveAs Strname & ".msg", OlSaveAsType.olMSG
        End If
    End Sub

  2. #2
    Candidat au Club
    Homme Profil pro
    apprenti développeur
    Inscrit en
    juillet 2022
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : apprenti développeur

    Informations forums :
    Inscription : juillet 2022
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Après plusieurs recherche je n'ai pas résolu mon problème mais il faut que je remplace cette partie du code par la fonction inStr, si je trouve la réponse avant que quelqu'un m'ait aidé je la posterai sur le topic.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    filterStr = "@SQL=""urn:schemas:httpmail:subject"" like '20%'"
     
            Set myMails = colSentItems.Items.Restrict(filterStr)

  3. #3
    Candidat au Club
    Homme Profil pro
    apprenti développeur
    Inscrit en
    juillet 2022
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : apprenti développeur

    Informations forums :
    Inscription : juillet 2022
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    C'est bon, après plusieurs tentatives de recherche j'ai trouvé comment résoudre mon problème, il fallait que je récupère l'emplacement du début du mot ou numero recherché (pour ma part un numéro qui comporte toujours 9 caractères) puis utiliser la fonction mid pour récupérer le numéro que je recherche. Il me reste juste quelques points a peaufiner
    mais surmontable, voici mon code pour les intéressé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'filtre l'objet du mail pour obtenir le numéro de commande
            postionNum = InStr(1, Item.Subject, "20220")
            numCommande = Mid(Item.Subject, postionNum, 9)
            MsgBox (numCommande)

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

Discussions similaires

  1. [OL-2007] Récuperer l'objet d'un mail dans un dossier spécifique
    Par Valypop dans le forum Outlook
    Réponses: 6
    Dernier message: 02/02/2017, 21h29
  2. Comment stocker tous mes mots dans une variable ?
    Par geeka dans le forum Général Python
    Réponses: 0
    Dernier message: 08/09/2016, 08h33
  3. Stocker un objet dans une variable
    Par Arkoze dans le forum Langage
    Réponses: 3
    Dernier message: 17/02/2011, 17h24
  4. [MIPS] [inline assembleur] Stocker un mot dans une variable
    Par wacho dans le forum Autres architectures
    Réponses: 0
    Dernier message: 02/01/2009, 16h23
  5. [MySQL] Comment stocker un $_POST['mail'] dans une variable le temps de le traiter
    Par Dendrite dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/06/2008, 01h03

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