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

filtre élaboré vba sur champs "notes"

8 réponses
Avatar
-=lolol=-
Bonjour à tous,

Suite à mon message du 3/3/5, je voudrais filtrer mes contacts de façon à
extraire ceux qui ont un mot clé recherché dans leurs champ notes.

N'étant pas certain d'être très clair, je vous donne un exemple.
Prenons le cas des transporteurs type ups, france express, heppner ou
sernam. Pour ces contacts dans le champs "note" de l'onglet "général"
j'écris transporteur.
Lorsque je clic sur un bouton, un inputbox apparaît dans lequel je tape
transporteur et valide. Outlook me renvoie alors, dans un affichage filtré,
la liste des contacts qui ont transporteur écrit dans ce champ.

Isabelle m'a gentiment suggéré de regarder du coté des filtres d'affichage
qui effectivement font ça pile poil comme il faut ... mais (comme souvent il
y a un mais) je n'arrive à rien pour mettre cela en application sur vba
;...( en fait, mon dernier neurone s'est suicidé en se jetant dans l'immense
abime de mon incompétence.

Donc pour me contre dire par rapport à mon dernier mail :-) si une bonne âme
avait pu me sortir un bout de macro adapté ou me donner un lien pointant
vers un exemple du type, c'eut été très cool.

outlook xp/2003 sur exchange

Par avance mille mercis pour votre aide
@+lolo

8 réponses

Avatar
Isabelle Prawitz
Bonjour !
Ok, je me penche sur ton problème !
D'abord, est-ce que tes mots-clés sont en quantité "limitée", ou pas ? C'est-à-dire, est-ce que tu peux envisager d'avoir un
affichage filtré par mot-clé, ou faut-il qu'il soit créé en dynamique (plus compliqué !!!) ?
A+
Isa

"-=lolol=-" a écrit dans le message de news:%
Bonjour à tous,

Suite à mon message du 3/3/5, je voudrais filtrer mes contacts de façon à
extraire ceux qui ont un mot clé recherché dans leurs champ notes.

N'étant pas certain d'être très clair, je vous donne un exemple.
Prenons le cas des transporteurs type ups, france express, heppner ou
sernam. Pour ces contacts dans le champs "note" de l'onglet "général"
j'écris transporteur.
Lorsque je clic sur un bouton, un inputbox apparaît dans lequel je tape
transporteur et valide. Outlook me renvoie alors, dans un affichage filtré,
la liste des contacts qui ont transporteur écrit dans ce champ.

Isabelle m'a gentiment suggéré de regarder du coté des filtres d'affichage
qui effectivement font ça pile poil comme il faut ... mais (comme souvent il
y a un mais) je n'arrive à rien pour mettre cela en application sur vba
;...( en fait, mon dernier neurone s'est suicidé en se jetant dans l'immense
abime de mon incompétence.

Donc pour me contre dire par rapport à mon dernier mail :-) si une bonne âme
avait pu me sortir un bout de macro adapté ou me donner un lien pointant
vers un exemple du type, c'eut été très cool.

outlook xp/2003 sur exchange

Par avance mille mercis pour votre aide
@+lolo




Avatar
-=lolol=-
Bonjour Isabelle,

Ok, je me penche sur ton problème !


mouarf magique !!!!
Tiens allez un bisous tout de suite pour t'encourager :-)

D'abord, est-ce que tes mots-clés sont en quantité "limitée", ou pas


Non, quand un gentil fournisseur vient me faire perdre mon temps pour me
présenter ces produits, je l'ajoute en tant que contact et note "en vrac"
les différents boulot / fourniture qu'il est succeptible de me fournir en
essayant d'utiliser des mots simples et concis. J'essairais de mettre
toujours les mêmes mots mais avec une armée de fournisseurs tapant dans tout
les domaines je vais me retrouver avec beaucoup de mots différents ...

C'est-à-dire, est-ce que tu peux envisager d'avoir un affichage
filtré par mot-clé, ou faut-il qu'il soit créé en dynamique (plus
compliqué !!!) ?


Dynamique, je clic sur le bouton, une boite de dialogue apparait, je tape le
mot clé recherché et valide, outlook lance l'affichage filtré adapté.

super merci à toi
@+lolo

Avatar
Isabelle Prawitz
Bonjour !
Bon, voilà ta macro !
Petit préalable : créer un affichage filtré avec le champ "Notes" "Contient" "Ce_que_tu_veux", pour pouvoir le modifier en
dynamique.
Pour le nom j'ai choisi "Filtré Notes", si tu veux mettre autre chose, change dans le code, que voici :

'Macro de changement de filtre en dynamique
Sub FiltreDyn()
Dim monDoss As MAPIFolder
Dim maVue As Outlook.View

Set monDoss = Session.GetDefaultFolder(olFolderContacts)
monDoss.Views("Liste téléphonique").Apply
Set maVue = monDoss.Views("Filtré Notes") 'Nom de l'affichage filtré
maVue.Apply
Dim strFiltre As String
Dim intPos1 As Integer, intPosD As Integer, intPosF As Integer
strFiltre = InputBox("Filtre ?")
intPos1 = InStr(1, maVue.XML, "<filter>")
intPosD = InStr(intPos1, maVue.XML, "'%")
intPosF = InStr(intPosD, maVue.XML, "%'")
maVue.XML = Left(maVue.XML, intPosD + 1) & strFiltre & Mid(maVue.XML, intPosF)
maVue.Save
maVue.Apply
Set ActiveExplorer.CurrentFolder = monDoss
End Sub
'Fin de macro

A+
Isa

"-=lolol=-" a écrit dans le message de news:OKg$
Bonjour Isabelle,

Ok, je me penche sur ton problème !


mouarf magique !!!!
Tiens allez un bisous tout de suite pour t'encourager :-)

D'abord, est-ce que tes mots-clés sont en quantité "limitée", ou pas


Non, quand un gentil fournisseur vient me faire perdre mon temps pour me
présenter ces produits, je l'ajoute en tant que contact et note "en vrac"
les différents boulot / fourniture qu'il est succeptible de me fournir en
essayant d'utiliser des mots simples et concis. J'essairais de mettre
toujours les mêmes mots mais avec une armée de fournisseurs tapant dans tout
les domaines je vais me retrouver avec beaucoup de mots différents ...

C'est-à-dire, est-ce que tu peux envisager d'avoir un affichage
filtré par mot-clé, ou faut-il qu'il soit créé en dynamique (plus
compliqué !!!) ?


Dynamique, je clic sur le bouton, une boite de dialogue apparait, je tape le
mot clé recherché et valide, outlook lance l'affichage filtré adapté.

super merci à toi
@+lolo





Avatar
-=lolol=-
Bonjour Isabelle
pfff, exeptionnel
gros merci pour ce boulot
@+lolo


Bonjour !
Bon, voilà ta macro !
Petit préalable : créer un affichage filtré avec le champ "Notes"
"Contient" "Ce_que_tu_veux", pour pouvoir le modifier en dynamique.
Pour le nom j'ai choisi "Filtré Notes", si tu veux mettre autre
chose, change dans le code, que voici :

'Macro de changement de filtre en dynamique
Sub FiltreDyn()
Dim monDoss As MAPIFolder
Dim maVue As Outlook.View

Set monDoss = Session.GetDefaultFolder(olFolderContacts)
monDoss.Views("Liste téléphonique").Apply
Set maVue = monDoss.Views("Filtré Notes") 'Nom de l'affichage filtré
maVue.Apply
Dim strFiltre As String
Dim intPos1 As Integer, intPosD As Integer, intPosF As Integer
strFiltre = InputBox("Filtre ?")
intPos1 = InStr(1, maVue.XML, "<filter>")
intPosD = InStr(intPos1, maVue.XML, "'%")
intPosF = InStr(intPosD, maVue.XML, "%'")
maVue.XML = Left(maVue.XML, intPosD + 1) & strFiltre &
Mid(maVue.XML, intPosF) maVue.Save
maVue.Apply
Set ActiveExplorer.CurrentFolder = monDoss
End Sub
'Fin de macro

A+
Isa

"-=lolol=-" a écrit dans le message de
news:OKg$
Bonjour Isabelle,

Ok, je me penche sur ton problème !


mouarf magique !!!!
Tiens allez un bisous tout de suite pour t'encourager :-)

D'abord, est-ce que tes mots-clés sont en quantité "limitée", ou pas


Non, quand un gentil fournisseur vient me faire perdre mon temps
pour me présenter ces produits, je l'ajoute en tant que contact et
note "en vrac" les différents boulot / fourniture qu'il est
succeptible de me fournir en essayant d'utiliser des mots simples et
concis. J'essairais de mettre toujours les mêmes mots mais avec une
armée de fournisseurs tapant dans tout les domaines je vais me
retrouver avec beaucoup de mots différents ...

C'est-à-dire, est-ce que tu peux envisager d'avoir un affichage
filtré par mot-clé, ou faut-il qu'il soit créé en dynamique (plus
compliqué !!!) ?


Dynamique, je clic sur le bouton, une boite de dialogue apparait, je
tape le mot clé recherché et valide, outlook lance l'affichage
filtré adapté.

super merci à toi
@+lolo





Avatar
Isabelle Prawitz
;-)
C'était "intéressant" ! Un peu tordu, mais à garder dans mes tablettes !
A+
Isa

"-=lolol=-" a écrit dans le message de news:%23$dyr%
Bonjour Isabelle
pfff, exeptionnel
gros merci pour ce boulot
@+lolo


Bonjour !
Bon, voilà ta macro !
Petit préalable : créer un affichage filtré avec le champ "Notes"
"Contient" "Ce_que_tu_veux", pour pouvoir le modifier en dynamique.
Pour le nom j'ai choisi "Filtré Notes", si tu veux mettre autre
chose, change dans le code, que voici :

'Macro de changement de filtre en dynamique
Sub FiltreDyn()
Dim monDoss As MAPIFolder
Dim maVue As Outlook.View

Set monDoss = Session.GetDefaultFolder(olFolderContacts)
monDoss.Views("Liste téléphonique").Apply
Set maVue = monDoss.Views("Filtré Notes") 'Nom de l'affichage filtré
maVue.Apply
Dim strFiltre As String
Dim intPos1 As Integer, intPosD As Integer, intPosF As Integer
strFiltre = InputBox("Filtre ?")
intPos1 = InStr(1, maVue.XML, "<filter>")
intPosD = InStr(intPos1, maVue.XML, "'%")
intPosF = InStr(intPosD, maVue.XML, "%'")
maVue.XML = Left(maVue.XML, intPosD + 1) & strFiltre &
Mid(maVue.XML, intPosF) maVue.Save
maVue.Apply
Set ActiveExplorer.CurrentFolder = monDoss
End Sub
'Fin de macro

A+
Isa

"-=lolol=-" a écrit dans le message de
news:OKg$
Bonjour Isabelle,

Ok, je me penche sur ton problème !


mouarf magique !!!!
Tiens allez un bisous tout de suite pour t'encourager :-)

D'abord, est-ce que tes mots-clés sont en quantité "limitée", ou pas


Non, quand un gentil fournisseur vient me faire perdre mon temps
pour me présenter ces produits, je l'ajoute en tant que contact et
note "en vrac" les différents boulot / fourniture qu'il est
succeptible de me fournir en essayant d'utiliser des mots simples et
concis. J'essairais de mettre toujours les mêmes mots mais avec une
armée de fournisseurs tapant dans tout les domaines je vais me
retrouver avec beaucoup de mots différents ...

C'est-à-dire, est-ce que tu peux envisager d'avoir un affichage
filtré par mot-clé, ou faut-il qu'il soit créé en dynamique (plus
compliqué !!!) ?


Dynamique, je clic sur le bouton, une boite de dialogue apparait, je
tape le mot clé recherché et valide, outlook lance l'affichage
filtré adapté.

super merci à toi
@+lolo









Avatar
-=lolol=-
Bonjour Isabelle,

petites précisions :

je ne comprends pas à quoi sert la ligne
Set ActiveExplorer.CurrentFolder = monDoss

Les puristes vba sur mpfe ont pour habitude de remettre les variables à vide
en quitant ... donc dans le cas de cette macro, à la fin ils ajouteraient
Set monDoss = Nothing
Set maVue = Nothing
Sais tu si c'est aussi "important" sur vba outlook ?
Je crois que c'est une histoire de libération de mémoire ...

Je te remercie encore de partager tes compétences fabuleuses
cordialement
@+lolo


Bonjour !
Bon, voilà ta macro !
Petit préalable : créer un affichage filtré avec le champ "Notes"
"Contient" "Ce_que_tu_veux", pour pouvoir le modifier en dynamique.
Pour le nom j'ai choisi "Filtré Notes", si tu veux mettre autre
chose, change dans le code, que voici :

'Macro de changement de filtre en dynamique
Sub FiltreDyn()
Dim monDoss As MAPIFolder
Dim maVue As Outlook.View

Set monDoss = Session.GetDefaultFolder(olFolderContacts)
monDoss.Views("Liste téléphonique").Apply
Set maVue = monDoss.Views("Filtré Notes") 'Nom de l'affichage filtré
maVue.Apply
Dim strFiltre As String
Dim intPos1 As Integer, intPosD As Integer, intPosF As Integer
strFiltre = InputBox("Filtre ?")
intPos1 = InStr(1, maVue.XML, "<filter>")
intPosD = InStr(intPos1, maVue.XML, "'%")
intPosF = InStr(intPosD, maVue.XML, "%'")
maVue.XML = Left(maVue.XML, intPosD + 1) & strFiltre &
Mid(maVue.XML, intPosF) maVue.Save
maVue.Apply
Set ActiveExplorer.CurrentFolder = monDoss
End Sub
'Fin de macro

A+
Isa

"-=lolol=-" a écrit dans le message de
news:OKg$
Bonjour Isabelle,

Ok, je me penche sur ton problème !


mouarf magique !!!!
Tiens allez un bisous tout de suite pour t'encourager :-)

D'abord, est-ce que tes mots-clés sont en quantité "limitée", ou pas


Non, quand un gentil fournisseur vient me faire perdre mon temps
pour me présenter ces produits, je l'ajoute en tant que contact et
note "en vrac" les différents boulot / fourniture qu'il est
succeptible de me fournir en essayant d'utiliser des mots simples et
concis. J'essairais de mettre toujours les mêmes mots mais avec une
armée de fournisseurs tapant dans tout les domaines je vais me
retrouver avec beaucoup de mots différents ...

C'est-à-dire, est-ce que tu peux envisager d'avoir un affichage
filtré par mot-clé, ou faut-il qu'il soit créé en dynamique (plus
compliqué !!!) ?


Dynamique, je clic sur le bouton, une boite de dialogue apparait, je
tape le mot clé recherché et valide, outlook lance l'affichage
filtré adapté.

super merci à toi
@+lolo





Avatar
Isabelle Prawitz
La ligne en question sert à rafraîchir l'affichage (ça ne marche pas sans, même avec maVue.Apply, du moins chez moi avec
Outlook 2003 !)
Pour la remise à Nothing des variables objets, c'est vrai que c'est mieux, mais perso je ne le fais jamais sur de petites
macros avec peu d'objets (mauvaise habitude de flemme, et aussi parce que je reviens souvent dessus, et que je ne veux pas
m'embêter à vérifier si j'ai "razé" ma variable ou pas !)
A+
Isa

"-=lolol=-" a écrit dans le message de news:uRUT%
Bonjour Isabelle,

petites précisions :

je ne comprends pas à quoi sert la ligne
Set ActiveExplorer.CurrentFolder = monDoss

Les puristes vba sur mpfe ont pour habitude de remettre les variables à vide
en quitant ... donc dans le cas de cette macro, à la fin ils ajouteraient
Set monDoss = Nothing
Set maVue = Nothing
Sais tu si c'est aussi "important" sur vba outlook ?
Je crois que c'est une histoire de libération de mémoire ...

Je te remercie encore de partager tes compétences fabuleuses
cordialement
@+lolo


Bonjour !
Bon, voilà ta macro !
Petit préalable : créer un affichage filtré avec le champ "Notes"
"Contient" "Ce_que_tu_veux", pour pouvoir le modifier en dynamique.
Pour le nom j'ai choisi "Filtré Notes", si tu veux mettre autre
chose, change dans le code, que voici :

'Macro de changement de filtre en dynamique
Sub FiltreDyn()
Dim monDoss As MAPIFolder
Dim maVue As Outlook.View

Set monDoss = Session.GetDefaultFolder(olFolderContacts)
monDoss.Views("Liste téléphonique").Apply
Set maVue = monDoss.Views("Filtré Notes") 'Nom de l'affichage filtré
maVue.Apply
Dim strFiltre As String
Dim intPos1 As Integer, intPosD As Integer, intPosF As Integer
strFiltre = InputBox("Filtre ?")
intPos1 = InStr(1, maVue.XML, "<filter>")
intPosD = InStr(intPos1, maVue.XML, "'%")
intPosF = InStr(intPosD, maVue.XML, "%'")
maVue.XML = Left(maVue.XML, intPosD + 1) & strFiltre &
Mid(maVue.XML, intPosF) maVue.Save
maVue.Apply
Set ActiveExplorer.CurrentFolder = monDoss
End Sub
'Fin de macro

A+
Isa

"-=lolol=-" a écrit dans le message de
news:OKg$
Bonjour Isabelle,

Ok, je me penche sur ton problème !


mouarf magique !!!!
Tiens allez un bisous tout de suite pour t'encourager :-)

D'abord, est-ce que tes mots-clés sont en quantité "limitée", ou pas


Non, quand un gentil fournisseur vient me faire perdre mon temps
pour me présenter ces produits, je l'ajoute en tant que contact et
note "en vrac" les différents boulot / fourniture qu'il est
succeptible de me fournir en essayant d'utiliser des mots simples et
concis. J'essairais de mettre toujours les mêmes mots mais avec une
armée de fournisseurs tapant dans tout les domaines je vais me
retrouver avec beaucoup de mots différents ...

C'est-à-dire, est-ce que tu peux envisager d'avoir un affichage
filtré par mot-clé, ou faut-il qu'il soit créé en dynamique (plus
compliqué !!!) ?


Dynamique, je clic sur le bouton, une boite de dialogue apparait, je
tape le mot clé recherché et valide, outlook lance l'affichage
filtré adapté.

super merci à toi
@+lolo









Avatar
-=lolol=-
Bonjour Isabelle

bon, ok, merci

@+lolo