Anniversaires des contacts vs Calendrier

Le
Artic-C
Bonjour à vous tous, Oh grands spécialistes d'Outlook, :-)

Je me tourne vers vous aujourd'hui afin de tenter de résoudre un petit
problème que je me suis créé (une pécadille ;-) ).

Alors voilà ;

J'ai ces derniers jours entré quelques 2000 & plus contacts (bref, la liste
de tous les clients) dans le carnet Outlook, avec des champs personnalisés
pour le type d'entreprise que nous avons, le tout incluant les dates de
naissances de ces personnes (dates que nous devons avoir pour la gestion de
ces comptes).

Alors, n'étend pas le plus familier des utilisateurs d'Outlook, je n'ai
jamais pensé à regarder le p***. de calendrier durant ces entrées de
données.

Bref, oh surprise en ouvrant le calendrier LOL, si j'ajoute des rendez-vous,
ils ne sont plus visibles directement sans devoir modifier le volet de
visualisation du calendrier. Et pour ce qui est de voir ces anniversaires
dans le calendrier, nous n'en avons absolument pas besoin.

Donc, ma question se résume à plutôt à ceci :

Existerait-il une parade, un script, un utilitaire, une modification de clé
de la BDR, peu importe, afin de faire disparaître toutes ces dates du
calendrier pour n'y avoir que nos rendez-vous et évènements sans avoir à
effacer tous ces anniversaires et plutôt créér un champ personnalisé et les
y retranscrire, ce qui évidement ne me tente pas trop. Mais si je n'ai pas
le choix, bah on fera avec et je m'attèlerai à cette tâche qui n'est quand
même pas la mer à boire.

En vous remerciant à l'avance soit de vos judicieux conseils ou, le cas
échéant, de votre grande compassion :-) :o) ,

--
Artic-C@t ¥©¥ [MVP]
MVP-Windows
http://artic.mvps.org/
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabrice N.
Le #329215
Bonjour ¥©¥ [MVP,
Bonjour à vous tous, Oh grands spécialistes d'Outlook, :-)

Je me tourne vers vous aujourd'hui afin de tenter de résoudre un petit
problème que je me suis créé (une pécadille ;-) ).

Alors voilà ;

J'ai ces derniers jours entré quelques 2000 & plus contacts (bref, la liste
de tous les clients) dans le carnet Outlook, avec des champs personnalisés
pour le type d'entreprise que nous avons, le tout incluant les dates de
naissances de ces personnes (dates que nous devons avoir pour la gestion de
ces comptes).

Alors, n'étend pas le plus familier des utilisateurs d'Outlook, je n'ai
jamais pensé à regarder le p***.... de calendrier durant ces entrées de
données.

Bref, oh surprise en ouvrant le calendrier LOL, si j'ajoute des rendez-vous,
ils ne sont plus visibles directement sans devoir modifier le volet de
visualisation du calendrier. Et pour ce qui est de voir ces anniversaires
dans le calendrier, nous n'en avons absolument pas besoin.

Donc, ma question se résume à plutôt à ceci :

Existerait-il une parade, un script, un utilitaire, une modification de clé
de la BDR, peu importe, afin de faire disparaître toutes ces dates du
calendrier pour n'y avoir que nos rendez-vous et évènements sans avoir à
effacer tous ces anniversaires et plutôt créér un champ personnalisé et les y
retranscrire, ce qui évidement ne me tente pas trop. Mais si je n'ai pas le
choix, bah on fera avec et je m'attèlerai à cette tâche qui n'est quand même
pas la mer à boire.

En vous remerciant à l'avance soit de vos judicieux conseils ou, le cas
échéant, de votre grande compassion :-) :o) ,



Si ton souhait est simplement de ne pas avoir ces anniversaires
affichés dans ton calendrier, voilà ce que je peux te proposer :

Dans le calendrier, choisi l'affichage par catégorie par exemple pour
avoir tes RDV sous forme de liste. Clique sur la colonne "Objet" pour
les trier dans cet ordre. Tous les anniversaires commence par
"Anniversaire de ". Tu les trouveras donc tous à la suite dans ta
liste.

Ensuite, 2 solutions :
1 - tu les sélectionnes tous et tu les supprimes si tu n'en veux
vraiment plus. D'après les testes que j'ai fait, ça ne supprime pas la
date d'anniversaire du contact concerné dans sa fiche.

2 - tu les sélectionnes, ensuite clique droit dessus, "Catégorie" et tu
leur associe la catégorie "Anniversaires" par exemple.
Ensuite, clique droit sur les titres de colonne, "Personnaliser
l'affichage en cours" et avec le bouton filtre, tu exclus cette
catégorie. Comme ça, les anniversaires n'apparaîssent plus, mais si tu
veux les revoir, il te suffit d'annuler le filtre... ;-)

Voilà...

ça te convient ?

Geo
Le #329214

J'ai ces derniers jours entré quelques 2000 & plus contacts (bref, la liste de tous les
clients) dans le carnet Outlook, avec des champs personnalisés pour le type
d'entreprise que nous avons, le tout incluant les dates de naissances de ces personnes
(dates que nous devons avoir pour la gestion de ces comptes).

Alors, n'étend pas le plus familier des utilisateurs d'Outlook, je n'ai jamais pensé à
regarder le p***.... de calendrier durant ces entrées de données.

Bref, oh surprise en ouvrant le calendrier LOL, si j'ajoute des rendez-vous, ils ne
sont plus visibles directement sans devoir modifier le volet de visualisation du
calendrier. Et pour ce qui est de voir ces anniversaires dans le calendrier, nous n'en
avons absolument pas besoin.

Donc, ma question se résume à plutôt à ceci :

Existerait-il une parade, un script, un utilitaire, une modification de clé de la BDR,
peu importe, afin de faire disparaître toutes ces dates du calendrier pour n'y avoir
que nos rendez-vous et évènements sans avoir à effacer tous ces anniversaires et plutôt
créér un champ personnalisé et les y retranscrire, ce qui évidement ne me tente pas
trop. Mais si je n'ai pas le choix, bah on fera avec et je m'attèlerai à cette tâche
qui n'est quand même pas la mer à boire.

En vous remerciant à l'avance soit de vos judicieux conseils ou, le cas échéant, de
votre grande compassion :-) :o) ,


Je ne sais s'il faut avoir de la compassion pour un homme qui a 2.000
clients. ;-)
En attendant que les spécialistes passent par là :
J'ai l'impression que tu as mis une date d'anniversaire et non une date
de naissance. Si tu vas voir dans tes contacts tu as une date future
(2007 ou 2008).
On peut réinitialiser cette rubrique par macro, mais tu sembles avoir
besoin de la date de naissance avec l'année ?

--
A+

Artic-C
Le #329210
Bonjour/Hi , Geo qui nous dit/who typed:

Je ne sais s'il faut avoir de la compassion pour un homme qui a 2.000
clients. ;-)


Pas pour le nombre, mais pour ma gaffe à réparer & le temps à y mettre ;-)

En attendant que les spécialistes passent par là :
J'ai l'impression que tu as mis une date d'anniversaire et non une
date de naissance. Si tu vas voir dans tes contacts tu as une date
future (2007 ou 2008).


Alors faudrait m'expliquer la différence entre les deux :-s ... Je parle de
leur date de naissance. (On a une piste de solution ??? )

On peut réinitialiser cette rubrique par macro, mais tu sembles avoir
besoin de la date de naissance avec l'année ?

Effectivement (pour moi, une macro ; NO2 + NO3 = Cacao Bingo..... nul de

chez les nuls je l'avoue publiquement, n'ayant jamais eu à travailler , bien
que les ayant, avec la bureautique Ofice), exception faite de Frontpage,
Excel & Publisher.

Merci Géo de ton aide



--
¥©¥ [MVP]
MVP-Windows
http://artic.mvps.org/

Geo
Le #329209

Alors faudrait m'expliquer la différence entre les deux :-s


Bien d'accord avec toi. Je suis le premier surpris car je m'attendais à
trouver les anniversaires comme objets VBA dans le calendrier, ils n'y
sont pas, ou j'ai mal vu.

... Je parle de leur date
de naissance. (On a une piste de solution ??? )


L'ennui c'est que tu as déjà perdu l'année, je te propose un truc mais
je ne l'ai pas testé complètement car avec Outlook je n'arrive pas à
faire des jeux d'essai simplement comme on peut le faire en Word ou
Excel.
Donc tu sauvegardes ton pst avant pour pouvoir revenir en arrière.
Telle qu'elle est la macro n'enregistre pas le résultat, ça te permet
de voir si ça te convient sans détruire de données, après tu enlèves le
commentaire avant le save.
La macro ajoute une donnée utilisateur qui s'appelle "Date de
naissance"
la Birthday y est recopiée et elle t'est proposée dans une boite de
dialogue pour que tu rectifie l'année.
On pourrait améliorer en ne proposant que l'année d'ailleurs.
Pour 2000 ça doit valoir le coup.

Et l'anniversaire est supprimé (j'espère).
Si tu veux faire un essai pour un seul client, ajoute un exit sub après
le Save (opérationnel).
Bon courage


Option Explicit
Sub SuppAnniversaires()

Dim Carnet As Folder
Dim objOutlook As Outlook.Application
Dim NS As NameSpace
Dim Nom As Object
Dim Client As ContactItem
Dim DateNaissance As UserProperty
Set objOutlook = Outlook.Application
Set NS = objOutlook.GetNamespace("MAPI")
Set Carnet = NS.GetDefaultFolder(olFolderContacts)
For Each Nom In Carnet.Items
If TypeName(Nom) = "ContactItem" Then
Set Client = Nom
With Client
If .Birthday <> #1/1/4501# Then
Set DateNaissance = _
.UserProperties.Add("Date de Naissance", olDateTime)
DateNaissance = InputBox(.FullName, _
"Donner la date de naissance", .Birthday)
.Birthday = #1/1/4501#
Debug.Print .FullName
'.Save
End If
End With
End If
Next
End Sub

--
A+

Geo
Le #329208

Bien d'accord avec toi. Je suis le premier surpris car je m'attendais à trouver les
anniversaires comme objets VBA dans le calendrier, ils n'y sont pas, ou j'ai mal vu.


Faut changer de lunettes !
Correction en cours

--
A+

Geo
Le #329207
Donc :

Une macro pour supprimer *tous* les anniversaires :

Sub SupprimerAnniversaires()
Dim Calendrier As Folder
Dim objOutlook As Outlook.Application
Dim NS As NameSpace
Dim Anniversaire As AppointmentItem
Set objOutlook = Outlook.Application
Set NS = objOutlook.GetNamespace("MAPI")
Set Calendrier = NS.GetDefaultFolder(olFolderCalendar)
For Each Anniversaire In Calendrier.Items
With Anniversaire
If Left(.Subject, 17) = " Anniversaire de " Then
Debug.Print .Subject, .Start
'.Delete
End If
End With
Next
End Sub

Le delete est en commentaires, comme ça tu peux vérifier la liste des
suppressions prévues (dans la fenêtre d'éxécution)

La macro de saisie des années, avec un exit sub qui te permettra de
vérifier le résultat :

Sub ChangeDate()
Dim Carnet As Folder
Dim objOutlook As Outlook.Application
Dim NS As NameSpace
Dim Nom As Object
Dim Client As ContactItem
Dim DébutDate As String
Dim DateNaissance As UserProperty
Dim Année As String
Set objOutlook = Outlook.Application
Set NS = objOutlook.GetNamespace("MAPI")
Set Carnet = NS.GetDefaultFolder(olFolderContacts)
For Each Nom In Carnet.Items
If TypeName(Nom) = "ContactItem" Then
Set Client = Nom
With Client
If .Birthday <> #1/1/4501# Then
Set DateNaissance = _
.UserProperties.Add("Date de Naissance", olDateTime)
DébutDate = Format(.Birthday, "dd/mm/")
Année = InputBox(.FullName, _
"Donner l'année de naissance", "19")
DateNaissance = CDate(DébutDate & Année)
.Birthday = #1/1/4501#
Debug.Print .FullName
.Save
' Ligne à supprimer après un premier test
Exit Sub
End If
End With
End If
Next
End Sub

--
A+
Artic-C
Le #329177
Bonjour/Hi , Geo qui nous dit/who typed:

Donc :

Une macro pour supprimer *tous* les anniversaires :

Sub SupprimerAnniversaires()
Dim Calendrier As Folder
Dim objOutlook As Outlook.Application
Dim NS As NameSpace
Dim Anniversaire As AppointmentItem
Set objOutlook = Outlook.Application
Set NS = objOutlook.GetNamespace("MAPI")
Set Calendrier = NS.GetDefaultFolder(olFolderCalendar)
For Each Anniversaire In Calendrier.Items
With Anniversaire
If Left(.Subject, 17) = " Anniversaire de " Then
Debug.Print .Subject, .Start
'.Delete
End If
End With
Next
End Sub

Le delete est en commentaires, comme ça tu peux vérifier la liste des
suppressions prévues (dans la fenêtre d'éxécution)

La macro de saisie des années, avec un exit sub qui te permettra de
vérifier le résultat :

Sub ChangeDate()
Dim Carnet As Folder
Dim objOutlook As Outlook.Application
Dim NS As NameSpace
Dim Nom As Object
Dim Client As ContactItem
Dim DébutDate As String
Dim DateNaissance As UserProperty
Dim Année As String
Set objOutlook = Outlook.Application
Set NS = objOutlook.GetNamespace("MAPI")
Set Carnet = NS.GetDefaultFolder(olFolderContacts)
For Each Nom In Carnet.Items
If TypeName(Nom) = "ContactItem" Then
Set Client = Nom
With Client
If .Birthday <> #1/1/4501# Then
Set DateNaissance = _
.UserProperties.Add("Date de Naissance", olDateTime)
DébutDate = Format(.Birthday, "dd/mm/")
Année = InputBox(.FullName, _
"Donner l'année de naissance", "19")
DateNaissance = CDate(DébutDate & Année)
.Birthday = #1/1/4501#
Debug.Print .FullName
.Save
' Ligne à supprimer après un premier test
Exit Sub
End If
End With
End If
Next
End Sub


Grand merci Geo,
Mais là j'suis pas sorti du bois lol, j'y comprend absolument rien. (Pour le
moment)

Je vais aller faire un beau dodo et relire tout ça (debout depuis + de 22
heures en ligne).

Et si je ne me démerde pas...... j'ai toujours ton adresse email ;-) et je
te filerai le contrôle du PC à distance en pleine confiance (de toute façon,
c'est pas le mien) lol .........
..........mais même le mien, je te le laisserais les 2 yeux fermés, j'en
profiterais pour aller boire une bière *g*


--
¥©¥ [MVP]
MVP-Windows
http://artic.mvps.org/

Artic-C
Le #329174
Bonjour, Fabrice N."
Si ton souhait est simplement de ne pas avoir ces anniversaires
affichés dans ton calendrier, voilà ce que je peux te proposer :


Tout dabord, merci de t'intéresser aux problèmes d'un MVP (surtout ceux que
d'un MVP Windows) ;-)

Mon souhait, n'est exactement que cela....... *Ne pas les voir dans le
calendrier* On n'en a absolument rien à cirer (à cet endroit).

Pour la suite, je regarde tout ça à tête reposée (je n'ai pas le PC sous la
main) et je vous ferai part de ce qui en sera dans les prochains jours.
(Fermé demain, on joue au golf :-p) )


Dans le calendrier, choisi l'affichage par catégorie par exemple pour
avoir tes RDV sous forme de liste. Clique sur la colonne "Objet" pour
les trier dans cet ordre. Tous les anniversaires commence par
"Anniversaire de ". Tu les trouveras donc tous à la suite dans ta
liste.


Ensuite, 2 solutions :
1 - tu les sélectionnes tous et tu les supprimes si tu n'en veux
vraiment plus. D'après les testes que j'ai fait, ça ne supprime pas la
date d'anniversaire du contact concerné dans sa fiche.

2 - tu les sélectionnes, ensuite clique droit dessus, "Catégorie" et
tu leur associe la catégorie "Anniversaires" par exemple.
Ensuite, clique droit sur les titres de colonne, "Personnaliser
l'affichage en cours" et avec le bouton filtre, tu exclus cette
catégorie. Comme ça, les anniversaires n'apparaîssent plus, mais si tu
veux les revoir, il te suffit d'annuler le filtre... ;-)

Voilà...

ça te convient ?


Merci Fabrice (de même qu'à notre Géo International) de vos judicieux
conseils, comme mentionné plus haut, je vous reviens dans quelques jours
avec les résultats.

Cdlt,

--
¥©¥ [MVP]
MVP-Windows
http://artic.mvps.org/

Fabrice N.
Le #329143
Bonjour ¥©¥ [MVP],

Tout dabord, merci de t'intéresser aux problèmes d'un MVP (surtout ceux que
d'un MVP Windows) ;-)


Pourquoi, c'est une maladie contagieuse ? ... ;-)
Retiens juste mon nom, comme ça, le jour où je poserai une question
windows, tu sera obligé de t'y intéresser... ;-)


Mon souhait, n'est exactement que cela....... *Ne pas les voir dans le
calendrier* On n'en a absolument rien à cirer (à cet endroit).


Donc l'idée d'associer une catégorie et de la masquer dans l'affichage
me paraît donc la plus simple...

(Fermé demain, on joue au golf :-p) )
Garde de ça pour toi, pense à ceux qui bossent... ;-)


Oliv'
Le #329102
*Geo
Donc :

Une macro pour supprimer *tous* les anniversaires :
sympa les macros!


Le problème avec le champ anniversaire c'est qu'à chaque mise à jour du
contact il recré l'anniversaire !!


--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Publicité
Poster une réponse
Anonyme