Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

macro liste des regles outlook 2007

8 réponses
Avatar
Vincent_C
bonjour à tous,

auriez vous une macro qui indique la liste des règles, car lorsqu'il y
en a beaucoup, il est difficile d'identifier les doublons puisqu'il n'y a
pas de
possibilité de tri alphabetique des regles.

merci beaucoup de votre aide et très bonne journée
bien cordialement,
Vincent_C

8 réponses

Avatar
Geo
Bonjour Vincent

auriez vous une macro qui indique la liste des règles, car lorsqu'il y
en a beaucoup, il est difficile d'identifier les doublons puisqu'il n'y a
pas de
possibilité de tri alphabetique des regles.



J'avais commencé à travailler sur le sujet, suite à une autre
conversation, mais vous n'avez pas donné suite.
En VBA on peut lister tous les noms de règles, mais le nom peut ne pas
vouloir dire grand' chose.
On peut lister une bonne partie du contenu des règles, c'est à dire :
-les conditions, par exemple : dépend de l'expéditeur, de la taille, de
l'existence de pièce jointes, etc. etc.
-les exceptions, par exemple : sauf pour un expéditeur particulier
-les actions, par exemple : affecter une catégorie, mettre dans un
dossier etc.

Par contre là où on est plus limités c'est sur le détail de la règle,
par exemple on ne peut pas connaître les dates qui sont mises dans la
règle. Amha c'est le modèle Objet qui est incomplet.

Si je peux être clair, on peut dire :
La règle A contient une condition sur les dates des messages,
Si la règle B a aussi une condition sur les dates.
On est incapable de dire si les deux règles sont équivalentes car on ne
sait pas sur quelles dates portent les deux conditions.

Il faut donc faire la vérification soit même.

J'ai préparé ça sous forme de tableau Excel pour pouvoir faire des tris
ou des filtres.

Ceci dit, j'ai beau faire quelques cas pour tester, je ne peux garantir
le bon déroulement du programme.
Je suis donc preneur de vos règles pour compléter mon code.

--
A+
Avatar
Vincent_C
bonjour Geo

merci de votre message

en fait, j'aurais juste besoin de la liste des noms des regles

d'avance merci de votre aide et bonne journée à vous

bien cordialement,

Vincent_C

"Geo" a écrit :

Bonjour Vincent

> auriez vous une macro qui indique la liste des règles, car lorsqu'il y
> en a beaucoup, il est difficile d'identifier les doublons puisqu'il n'y a
> pas de
> possibilité de tri alphabetique des regles.

J'avais commencé à travailler sur le sujet, suite à une autre
conversation, mais vous n'avez pas donné suite.
En VBA on peut lister tous les noms de règles, mais le nom peut ne pas
vouloir dire grand' chose.
On peut lister une bonne partie du contenu des règles, c'est à dire :
-les conditions, par exemple : dépend de l'expéditeur, de la taille, de
l'existence de pièce jointes, etc. etc.
-les exceptions, par exemple : sauf pour un expéditeur particulier
-les actions, par exemple : affecter une catégorie, mettre dans un
dossier etc.

Par contre là où on est plus limités c'est sur le détail de la règle,
par exemple on ne peut pas connaître les dates qui sont mises dans la
règle. Amha c'est le modèle Objet qui est incomplet.

Si je peux être clair, on peut dire :
La règle A contient une condition sur les dates des messages,
Si la règle B a aussi une condition sur les dates.
On est incapable de dire si les deux règles sont équivalentes car on ne
sait pas sur quelles dates portent les deux conditions.

Il faut donc faire la vérification soit même.

J'ai préparé ça sous forme de tableau Excel pour pouvoir faire des tris
ou des filtres.

Ceci dit, j'ai beau faire quelques cas pour tester, je ne peux garantir
le bon déroulement du programme.
Je suis donc preneur de vos règles pour compléter mon code.

--
A+


.



Avatar
Geo
Bonjour

en fait, j'aurais juste besoin de la liste des noms des regles



Dans ce cas on peut faire quelque chose de très simple.
Vous saurez éventuellement récupérer le contenu de la fenêtre
d'exécution ?

--
A+
Avatar
Vincent_C
bonjour,

pouvez vous m'indiquer ce que vous entendez par contenu de la fenetre
d'execution?

merci d'avance

bien cordialement, Vincent_C

"Geo" a écrit :

Bonjour

> en fait, j'aurais juste besoin de la liste des noms des regles

Dans ce cas on peut faire quelque chose de très simple.
Vous saurez éventuellement récupérer le contenu de la fenêtre
d'exécution ?

--
A+


.



Avatar
Geo
Bonsoir

pouvez vous m'indiquer ce que vous entendez par contenu de la fenetre
d'execution?



Dans l'interface VBE on peut faire apparaître une fenêtre d'exécution
et la macro peut y écrire en utilisant debug.print.
Pourquoi cette question ?
Parce que vous voulez une liste, soit on la fait apparaître dans cette
fenêtre, soit on fait un document word pour l'y déposer.
Le premier cas est plus simple, mais c'est vous le client et il faut
prendre la solution qui vous est utile.

--
A+
Avatar
Vincent_C
bonjour,

est il possible de recopier ce qu'il y a dans la fenetre d'exceution pour le
coller ensuite pour trier la liste dans excel par exemple ?

merci !

"Geo" a écrit :

Bonsoir

> pouvez vous m'indiquer ce que vous entendez par contenu de la fenetre
> d'execution?

Dans l'interface VBE on peut faire apparaître une fenêtre d'exécution
et la macro peut y écrire en utilisant debug.print.
Pourquoi cette question ?
Parce que vous voulez une liste, soit on la fait apparaître dans cette
fenêtre, soit on fait un document word pour l'y déposer.
Le premier cas est plus simple, mais c'est vous le client et il faut
prendre la solution qui vous est utile.

--
A+


.



Avatar
Geo
Bonjour

est il possible de recopier ce qu'il y a dans la fenetre d'exceution pour le
coller ensuite pour trier la liste dans excel par exemple ?



On peut aussi directement générer la liste dans Excel, voici une macro
qui fait ça.
Il faut référencer Excel dans "Outils / Références" de vbe.

Sub NomsDesRègles()
Dim objOutlook As Outlook.Application
Dim objExcel As Excel.Application
Dim Classeur As Excel.Workbook
Dim Feuille As Excel.Worksheet
Dim Banque As Store
Dim LesBanques As Stores
Dim Règle As Rule
Dim LesRègles As Rules
Dim NbRègles As Integer
Dim i As Integer
Set objOutlook = Outlook.Application
Set LesBanques = objOutlook.Session.Stores
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set Classeur = objExcel.Workbooks.Add
Set Feuille = Classeur.Sheets(1)
i = 1
Debug.Print "***** Début du traitement "
For Each Banque In LesBanques
On Error GoTo Suite
' ne sert que pour vérifier l'accès à la banque
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
Debug.Print "Actif : " & Règle.Name
Feuille.Cells(i, 1).Value = "Actif"
Feuille.Cells(i, 2).Value = Règle.Name
i = i + 1

Else
Debug.Print "Inactif : " & Règle.Name
Feuille.Cells(i, 1).Value = "Inactif"
Feuille.Cells(i, 2).Value = Règle.Name
i = i + 1
End If
Next Règle
GoTo Boucle
Suite:
Resume Boucle
Boucle:
Next Banque
Debug.Print "***** Fin du traitement "
MsgBox "Terminé"
End Sub

--
A+
Avatar
Vincent_C
super, cela marche très bien, impeccable!

merci beaucoup

bien cordialement,

Vincent_C

"Geo" a écrit :

Bonjour

> est il possible de recopier ce qu'il y a dans la fenetre d'exceution pour le
> coller ensuite pour trier la liste dans excel par exemple ?

On peut aussi directement générer la liste dans Excel, voici une macro
qui fait ça.
Il faut référencer Excel dans "Outils / Références" de vbe.

Sub NomsDesRègles()
Dim objOutlook As Outlook.Application
Dim objExcel As Excel.Application
Dim Classeur As Excel.Workbook
Dim Feuille As Excel.Worksheet
Dim Banque As Store
Dim LesBanques As Stores
Dim Règle As Rule
Dim LesRègles As Rules
Dim NbRègles As Integer
Dim i As Integer
Set objOutlook = Outlook.Application
Set LesBanques = objOutlook.Session.Stores
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set Classeur = objExcel.Workbooks.Add
Set Feuille = Classeur.Sheets(1)
i = 1
Debug.Print "***** Début du traitement "
For Each Banque In LesBanques
On Error GoTo Suite
' ne sert que pour vérifier l'accès à la banque
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
Debug.Print "Actif : " & Règle.Name
Feuille.Cells(i, 1).Value = "Actif"
Feuille.Cells(i, 2).Value = Règle.Name
i = i + 1

Else
Debug.Print "Inactif : " & Règle.Name
Feuille.Cells(i, 1).Value = "Inactif"
Feuille.Cells(i, 2).Value = Règle.Name
i = i + 1
End If
Next Règle
GoTo Boucle
Suite:
Resume Boucle
Boucle:
Next Banque
Debug.Print "***** Fin du traitement "
MsgBox "Terminé"
End Sub

--
A+


.