bonjour,
utilisant un blackberry, j'ai l'impression que les régles de classement des
messages entrants sont désactivées lorsque que je lis mes messages depuis mon
blackberry, ce qui fait que je dois manuellement executer les régles de
classement et que cette tache prend du temps car il y a beaucoup de régles et
que l'on ne peut pas y accéder facilement (pas de possibilité de tri
alphabetique de ces regles)
pourriez vous m'indiquer une macro qui executeraient toutes les regles, quel
qu'en soit le nombre, sil vous plait ?
Effectivement cela n'a rien a voir avec le type de compte. Par contre dans mon outlook j'ai 4 fichiers pst d'ouvert avec différents compte. En fait les règles ne s'appliquent que dans le dossier par défaut et pas dans les autres.
Voilà une observation intéressante. En effet les règles sont appliquées au dossier par défaut et comme je n'en ai qu'un ça marche bien chez moi.
Donc il faudrait trouver comment appliquer les règles dans les dossiers Receptions des 4 fichiers PST.
Dans le principe c'est simple, Exécute peut avoir 4 paramètres facultatifs (je recopie l'aide) : Paramètre Valeur par défaut AfficherProgression False Dossier Boîte de réception InclureSous-dossiers False RuleExecuteOption OlRuleExecuteOption.olRuleExecuteAllMessages
Les valeurs à indiquer sont en fonction de votre organisation, voir ci-dessous la macro adaptée pour la "Boîte de réception" qui est dans le dossier "Dossiers personnels", à vous de la dupliquer pour vos 4 autres dossiers, sauf s'ils sont organisés en sous-dossiers, auquel cas il faudrait ajouter le troisième paramètre.
Sub AppliRègles() Dim objOutlook As Outlook.Application 'Dim ObjNameSpace As NameSpace Dim Banque As Store Dim LesBanques As Stores Dim Règle As Rule Dim LesRègles As Rules Dim NbRègles As Integer Dim NbRèglesEx As Integer Dim Dossier As Folder Dim ObjNameSpace As NameSpace
Set objOutlook = Outlook.Application Set ObjNameSpace = objOutlook.GetNamespace("MAPI") Set Dossier = _ ObjNameSpace.Folders("Dossiers personnels").Folders("Boîte de réception") NbRèglesEx = 0 Debug.Print objOutlook.Session.Stores.count Set LesBanques = objOutlook.Session.Stores For Each Banque In LesBanques On Error GoTo Suite NbRègles = Banque.GetRules.count On Error GoTo 0 Set LesRègles = Banque.GetRules For Each Règle In LesRègles If Règle.Enabled Then Règle.Execute showprogress:=True, Folder:=Dossier NbRèglesEx = NbRèglesEx + 1 End If Next Règle GoTo Boucle Suite: Debug.Print "La banque " & Banque.DisplayName & " ne supporte pas les règles" Resume Boucle Boucle: Next Banque MsgBox NbRèglesEx & " appliqué(e)s " End Sub
Effectivement cela n'a rien a voir avec le type de compte. Par contre dans mon outlook
j'ai 4 fichiers pst d'ouvert avec différents compte.
En fait les règles ne s'appliquent que dans le dossier par défaut et pas dans les
autres.
Voilà une observation intéressante.
En effet les règles sont appliquées au dossier par défaut et comme je
n'en ai qu'un ça marche bien chez moi.
Donc il faudrait trouver comment appliquer les règles dans les dossiers
Receptions des 4 fichiers PST.
Dans le principe c'est simple, Exécute peut avoir 4 paramètres
facultatifs (je recopie l'aide) :
Paramètre Valeur par défaut
AfficherProgression False
Dossier Boîte de réception
InclureSous-dossiers False
RuleExecuteOption OlRuleExecuteOption.olRuleExecuteAllMessages
Les valeurs à indiquer sont en fonction de votre organisation, voir
ci-dessous la macro adaptée pour la "Boîte de réception" qui est dans
le dossier "Dossiers personnels", à vous de la dupliquer pour vos 4
autres dossiers, sauf s'ils sont organisés en sous-dossiers, auquel cas
il faudrait ajouter le troisième paramètre.
Sub AppliRègles()
Dim objOutlook As Outlook.Application
'Dim ObjNameSpace As NameSpace
Dim Banque As Store
Dim LesBanques As Stores
Dim Règle As Rule
Dim LesRègles As Rules
Dim NbRègles As Integer
Dim NbRèglesEx As Integer
Dim Dossier As Folder
Dim ObjNameSpace As NameSpace
Set objOutlook = Outlook.Application
Set ObjNameSpace = objOutlook.GetNamespace("MAPI")
Set Dossier = _
ObjNameSpace.Folders("Dossiers personnels").Folders("Boîte de
réception")
NbRèglesEx = 0
Debug.Print objOutlook.Session.Stores.count
Set LesBanques = objOutlook.Session.Stores
For Each Banque In LesBanques
On Error GoTo Suite
NbRègles = Banque.GetRules.count
On Error GoTo 0
Set LesRègles = Banque.GetRules
For Each Règle In LesRègles
If Règle.Enabled Then
Règle.Execute showprogress:=True, Folder:=Dossier
NbRèglesEx = NbRèglesEx + 1
End If
Next Règle
GoTo Boucle
Suite:
Debug.Print "La banque " & Banque.DisplayName & " ne supporte pas les
règles"
Resume Boucle
Boucle:
Next Banque
MsgBox NbRèglesEx & " appliqué(e)s "
End Sub
Effectivement cela n'a rien a voir avec le type de compte. Par contre dans mon outlook j'ai 4 fichiers pst d'ouvert avec différents compte. En fait les règles ne s'appliquent que dans le dossier par défaut et pas dans les autres.
Voilà une observation intéressante. En effet les règles sont appliquées au dossier par défaut et comme je n'en ai qu'un ça marche bien chez moi.
Donc il faudrait trouver comment appliquer les règles dans les dossiers Receptions des 4 fichiers PST.
Dans le principe c'est simple, Exécute peut avoir 4 paramètres facultatifs (je recopie l'aide) : Paramètre Valeur par défaut AfficherProgression False Dossier Boîte de réception InclureSous-dossiers False RuleExecuteOption OlRuleExecuteOption.olRuleExecuteAllMessages
Les valeurs à indiquer sont en fonction de votre organisation, voir ci-dessous la macro adaptée pour la "Boîte de réception" qui est dans le dossier "Dossiers personnels", à vous de la dupliquer pour vos 4 autres dossiers, sauf s'ils sont organisés en sous-dossiers, auquel cas il faudrait ajouter le troisième paramètre.
Sub AppliRègles() Dim objOutlook As Outlook.Application 'Dim ObjNameSpace As NameSpace Dim Banque As Store Dim LesBanques As Stores Dim Règle As Rule Dim LesRègles As Rules Dim NbRègles As Integer Dim NbRèglesEx As Integer Dim Dossier As Folder Dim ObjNameSpace As NameSpace
Set objOutlook = Outlook.Application Set ObjNameSpace = objOutlook.GetNamespace("MAPI") Set Dossier = _ ObjNameSpace.Folders("Dossiers personnels").Folders("Boîte de réception") NbRèglesEx = 0 Debug.Print objOutlook.Session.Stores.count Set LesBanques = objOutlook.Session.Stores For Each Banque In LesBanques On Error GoTo Suite NbRègles = Banque.GetRules.count On Error GoTo 0 Set LesRègles = Banque.GetRules For Each Règle In LesRègles If Règle.Enabled Then Règle.Execute showprogress:=True, Folder:=Dossier NbRèglesEx = NbRèglesEx + 1 End If Next Règle GoTo Boucle Suite: Debug.Print "La banque " & Banque.DisplayName & " ne supporte pas les règles" Resume Boucle Boucle: Next Banque MsgBox NbRèglesEx & " appliqué(e)s " End Sub