Shared MailBox & 2 macros

Fermé
thefloflo64 Messages postés 650 Date d'inscription jeudi 13 novembre 2014 Statut Membre Dernière intervention 28 novembre 2017 - 15 sept. 2017 à 11:47
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 - 28 nov. 2017 à 20:10
Bonjour,

J'ai une macro Outlook qui s’exécute en permanence afin de vérifier la réception de mails (différents traitements réagissent en suivant).


Private Sub Application_Startup()

Dim olApp As Outlook.Application
Dim Comptes_messagerie()
Dim Dossier As Outlook.MAPIFolder

'définition application
Set olApp = Outlook.Application
'définition compte de messagerie
Comptes_messagerie = Array("BOITEMAILPARTAGEE@mail.com")
'sélection dossiers Outlook a analyser
For Each Dossier In olApp.GetNamespace("MAPI").Folders
If UBound(Filter(Comptes_messagerie, Dossier.Name)) > -1 Then
'assignation évènements de la boîte de réception du Compte de messagerie
Set myOlItems = Dossier.Folders("09 - Folder1").Items
End If
Next Dossier
End Sub


Néanmoins, j'ai également une deuxième macro qui doit tourner et cela sur le même poste et sur un autre dossier de cette boîte mail partagé.


Private Sub Application_Startup()

Dim olApp1 As Outlook.Application
Dim Comptes_messagerie1()
Dim Dossier1 As Outlook.MAPIFolder

'définition application
Set olApp1 = Outlook.Application
'définition Comptes de messagerie
Comptes_messagerie1 = Array("BOITEMAILPARTAGEE@mail.com")
'balayage Dossiers Outlook
For Each Dossier1 In olApp.GetNamespace("MAPI").Folders
If UBound(Filter(Comptes_messagerie1, Dossier1.Name)) > -1 Then
'assignation évenements de la boîte de réception du Compte de messagerie
Set myOlItems1 = Dossier1.Folders("10 - Folder2").Items
End If
Next Dossier1

End Sub


Ma question est la suivante, lorsque je compile ces deux macros afin d'avoir une analyse des mails reçu sur la boîte partagée, cela ne fonctionne pas :


Private Sub Application_Startup()

Dim olApp As Outlook.Application
Dim Comptes_messagerie()
Dim Dossier As Outlook.MAPIFolder

'définition application
Set olApp = Outlook.Application
'définition compte de messagerie
Comptes_messagerie = Array("BOITEMAILPARTAGEE@mail.com")
'sélection dossiers Outlook a analyser
For Each Dossier In olApp.GetNamespace("MAPI").Folders
If UBound(Filter(Comptes_messagerie, Dossier.Name)) > -1 Then
'assignation évènements de la boîte de réception du Compte de messagerie
Set myOlItems = Dossier.Folders("09 - Folder1").Items
End If
Next Dossier


Dim olApp1 As Outlook.Application
Dim Comptes_messagerie1()
Dim Dossier1 As Outlook.MAPIFolder

'définition application
Set olApp1 = Outlook.Application
'définition Comptes de messagerie
Comptes_messagerie1 = Array("BOITEMAILPARTAGEE@mail.com")
'balayage Dossiers Outlook
For Each Dossier1 In olApp.GetNamespace("MAPI").Folders
If UBound(Filter(Comptes_messagerie1, Dossier1.Name)) > -1 Then
'assignation évenements de la boîte de réception du Compte de messagerie
Set myOlItems1 = Dossier1.Folders("10 - Folder2").Items
End If
Next Dossier1

End Sub




Le problème semble venir de "myOlItems", lors que je rajoute un 1 permettant de faire la différence entre les deux parties de la macro, cela ne comprend pas la variable. Et lorsque je laisse "myOlItems" normal, cela remplace la précédente (normal)...

Comment faire pour contourner cela ?


Cordialement,
Florian
A voir également:

4 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
15 sept. 2017 à 15:07
Bonjour,

For Each Dossier1 In olApp.GetNamespace("MAPI").Folders

manquerait pas un 1 a olApp
1
thefloflo64 Messages postés 650 Date d'inscription jeudi 13 novembre 2014 Statut Membre Dernière intervention 28 novembre 2017 93
18 sept. 2017 à 09:45
Bonjour,

Effectivement il manquait un 1 :) merci
Mais le problème est toujours là malgré cela
Une autre idée ?

Cordialement,
Florian
0
thefloflo64 Messages postés 650 Date d'inscription jeudi 13 novembre 2014 Statut Membre Dernière intervention 28 novembre 2017 93
19 sept. 2017 à 11:26
Personne n'a de solution ?


Cordialement,
Florian
0
thefloflo64 Messages postés 650 Date d'inscription jeudi 13 novembre 2014 Statut Membre Dernière intervention 28 novembre 2017 93
21 sept. 2017 à 10:24
Aucune idée ?


Cordialement,
Florian
0
thefloflo64 Messages postés 650 Date d'inscription jeudi 13 novembre 2014 Statut Membre Dernière intervention 28 novembre 2017 93
28 sept. 2017 à 09:36
Bonjour,

Aucune news ?


Cordialement,
Florian
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
Modifié le 30 sept. 2017 à 10:34
bonjour, peux-tu être plus précis et plus factuel?
Tu écris des phrases comme "cela ne fonctionne pas", "Le problème semble venir de", "cela ne comprend pas la variable", et tu ne nous donnes aucune information utile, à part une partie de ton code.
je te suggère d'ajouter "option explicit" en haut de ton module.
si tu as un message d'erreur, recopie le ici, et indique nous sur quelle ligne il se produit.
je suggère aussi de ne pas utiliser olApp1, il me semble que tu peux utiliser partout olApp.
tu écris que ta macro s’exécute en permanence: il me semble qu'elle s'exécute une fois quand tu démarre ton application, que veux-tu dire par "en permanence"?
0
thefloflo64 Messages postés 650 Date d'inscription jeudi 13 novembre 2014 Statut Membre Dernière intervention 28 novembre 2017 93
28 nov. 2017 à 15:16
Bonjour,

Pardon pour ma réponse tardive.
Pour répondre à tes questions, je dispose d'une macro qui analyse dès l'arrivé d'un mail dans un folder précis, à partir de mots clés définis en amont dans la macro, si ce mail correspond à ce que l'on recherche pour ensuite exécuter une certaine macro dans un fichier excel.

Néanmoins, je voudrais pouvoir utiliser deux macros qui vérifierai l'arrivé d'un mail dans deux folders et réagissent en fonction séparément.

La boîte mail est partagée pour information.

Par ailleurs, il me semble que les variables que j'utilise sur ma première macro sont des variable "génériques" à Outlook et ne peuvent donc pas être changé...
C'est cela que je voudrais savoir.

J'espère avoir été plus clair dans mon questionnement :)


Merci d'avance,
Florian
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471 > thefloflo64 Messages postés 650 Date d'inscription jeudi 13 novembre 2014 Statut Membre Dernière intervention 28 novembre 2017
28 nov. 2017 à 20:10
merci de partager le code complet de ta macro qui fonctionne bien.
0