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 :

Faire suivre les mails en fonction de l'objet et de façon équitable [OL-2010]


Sujet :

VBA Outlook

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Avril 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Avril 2016
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Faire suivre les mails en fonction de l'objet et de façon équitable
    Bonjour a tous et a toutes et ravi de me joindre a vous sur developpez.net

    Je vous explique mon besoin, si vous pouvez me dire si c'est facilement realisable avec VBA sous outlook .. d'avance merci

    Tous les jours je reçoit plusieurs mails (avec Demandes dans l'objet) a traiter par mes 3 collaborateurs

    et actuellement lorsque je recoit le 1er mail, je le transférè manuellement a colaborateur1 pour traitement
    la 2eme a colaborateur2
    la 3eme a colaborateur3

    la 4eme a colaborateur1
    la 5eme a colaborateur2
    la 7eme a colaborateur3

    la 8eme a colaborateur1
    et ainsi de suite..


    j'aimerais automatiser ces actions.. les demandes doivent donc etre dispatché de façon equitable entre mes 3 collaborateurs.
    Pouvez-vous me dire si c'est facilement realisable ?
    si oui, je me met sérieusement au developpement VBA
    je vous remercie !!

  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
    Bonjour,
    Oui c'est faisable.

    Il faut créer une règle avec les conditions de déclenchement et choisir comme action executer un script

    et coller ce code dans un module de OUltook

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    Sub Test_ScriptForwardEquit()
     
        Dim MyItem As MailItem
     
        Set MyItem = ActiveInspector.CurrentItem
        ScriptForwardEquit MyItem
     
     
    End Sub
     
    Sub ScriptForwardEquit(Mymail As MailItem)
    '---------------------------------------------------------------------------------------
    ' Procedure : RepToRec
    ' Author    : Oliv'
    ' Date      : 16/04/2008
    ' Purpose   : script a executer avec une règle pour transférer à 3 personnes
    '---------------------------------------------------------------------------------------
    '
        Static vSuivant As Integer
        Dim MailTransfer As Outlook.MailItem
        Set MailTransfer = Mymail.Forward
     
        Path_vSuivant = "c:\temp\vsuivant.txt"
     
        If vSuivant = 0 Then    ' on ouvre le fichier
            On Error Resume Next
            Open Path_vSuivant For Input As #1
            If Err.Number = 53 Then
                vSuivant = 1
                'ecrire le fichier
                Open Path_vSuivant For Output As #1    ' Ouvre le fichier en écriture.
                Print #1, "1"
                Close #1
            Else
     
     
                Input #1, vSuivant
                ' Ferme le fichier avant de l'ouvrir à nouveau dans un autre mode.
                Close #1
            End If
     
        End If
     
        'choix du destinataire
        Select Case vSuivant
        Case 1
            MailTransfer.Recipients.add "Destinataire1@toto.fr"
        Case 2
            MailTransfer.Recipients.add "Destinataire2@toto.fr"
        Case 3
            MailTransfer.Recipients.add "Destinataire3@toto.fr"
        End Select
     
     
        If vSuivant = 3 Then
            vSuivant = 1
        Else
            vSuivant = vSuivant + 1
        End If
     
        Open Path_vSuivant For Output As #1    ' Ouvre le fichier en écriture.
        Print #1, vSuivant
        Close #1
     
        MailTransfer.Display
        '    MailTransfer.Send
        Set Mymail = Nothing
     
    End Sub

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Avril 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Avril 2016
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Super, merci Oliv-
    je vais tester ça ce soir

    je pense mettre le fichier vsuivant.txt ailleur que dans tmp pour eviter qu'il soit supprimé

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Avril 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Avril 2016
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Oliv- Voir le message
    Bonjour,
    Oui c'est faisable.

    Il faut créer une règle avec les conditions de déclenchement et choisir comme action executer un script

    et coller ce code dans un module de OUltook
    Oliv- merci pour ton code
    alors je l'ai testé a l'instant, il fait le travail sauf qu'il ne transfère pas automatiquement les mails..
    il attend une action de ma part (cliquer sur envoyer) pour envoyer le mail
    j'aurai aimé ne pas intervenir
    ps : les mails recu ont des pièces jointes
    merci a toi

  5. #5
    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
    IL FAUT changer ces 2 lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    'MailTransfer.Display
     MailTransfer.Send
    les pj doivent suivre

  6. #6
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Bonjour à vous,

    Juste en passant dans le coin, j'aurais opté pour un modulo 3 sur le vSuivant
    Du coup le Select Case sur 1, 2, 0 (qui remplace le 3).
    Et plus besoin de réécrire dans le fichier à la fin

    Tu ouvre le fichier, tu récupère la valeur tu l'incrémente tu la réécris de suite et après tu traite
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Avril 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Avril 2016
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par cerede2000 Voir le message
    Bonjour à vous,

    Juste en passant dans le coin, j'aurais opté pour un modulo 3 sur le vSuivant
    Du coup le Select Case sur 1, 2, 0 (qui remplace le 3).
    Et plus besoin de réécrire dans le fichier à la fin

    Tu ouvre le fichier, tu récupère la valeur tu l'incrémente tu la réécris de suite et après tu traite
    Bonjour cerede2000
    Merci pour ta contribution.. n'hesite pas a mettre le code complet de ta propostion
    je referais un test du script demain

  8. #8
    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
    ton pseudo c'est lillois comme un habitant de Lille ?
    C'est cool t'es d'min coin ! En fin un qui va pouvoir me payer une bière !

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Avril 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Avril 2016
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Oliv- Voir le message
    ton pseudo c'est lillois comme un habitant de Lille ?
    C'est cool t'es d'min coin ! En fin un qui va pouvoir me payer une bière !
    je viens de comprendre pourquoi ça ne le lançait pas.. les macros etait desactivéé par defaut.. une petite activation et ça marche mieux..
    et ton script marche du tonnerre Oliv-
    oui je suis lillois mais en deplacement
    une fois remonté, pourquoi pas te faire signe, tu m'a bien depanné sur ce coup la
    encore une fois merci

  10. #10
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Avec le modulo ça donnerais ça
    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
    37
    38
    Sub ScriptForwardEquit(Mymail As MailItem)
    '---------------------------------------------------------------------------------------
    ' Procedure : RepToRec
    ' Author    : Oliv'
    ' Date      : 16/04/2008
    ' Purpose   : script a executer avec une règle pour transférer à 3 personnes
    '---------------------------------------------------------------------------------------
        Dim vSuivant As Integer
        Dim MailTransfer As Outlook.MailItem
        Set MailTransfer = Mymail.Forward
     
        Path_vSuivant = "c:\temp\vsuivant.txt"
     
        On Error Resume Next
        'Ouvre le fichier pour aller chercher la prochaine valeur
        Open Path_vSuivant For Input As #1
        Input #1, vSuivant
        Close #1
        If vSuivant = 32767 Then vSuivant = 1 'Evite le dépassement de capacité du Integer ! Tout en respectant l'odre du modulo :)
        'Ouvre le fichier pour ecrire la prochaine valeur
        Open Path_vSuivant For Output As #1
        Print #1, vSuivant + 1
        Close #1
     
        'choix du destinataire
        Select Case vSuivant Mod 3
        Case 0
            MailTransfer.Recipients.Add "Destinataire1@toto.fr"
        Case 1
            MailTransfer.Recipients.Add "Destinataire2@toto.fr"
        Case 2
            MailTransfer.Recipients.Add "Destinataire3@toto.fr"
        End Select
     
        MailTransfer.Display
        '    MailTransfer.Send
        Set Mymail = Nothing
    End Sub
    Dommage qu'on ne puisse pas ouvrir le fichier en Input/Output en une seule fois dans passer par FSO
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

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

Discussions similaires

  1. [XL-2007] faire suivre les formules
    Par grisan29 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 19/07/2011, 16h17
  2. [OL-2003] Faire suivre des mails
    Par louzz dans le forum Outlook
    Réponses: 0
    Dernier message: 03/09/2010, 14h02
  3. Réponses: 0
    Dernier message: 12/02/2010, 16h55
  4. Réponses: 1
    Dernier message: 02/07/2009, 08h00
  5. [VBA-W]Comment faire suivre les macros d'un modèle?
    Par gusrom86 dans le forum VBA Word
    Réponses: 7
    Dernier message: 23/02/2006, 10h26

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