prob de synchro entre entourage et 'carnet d'adresse'

astoury

Membre confirmé
13 Septembre 2007
32
0
Bonjour à tous
(j'espère que je suis dans le bon forum et j'ai bien regardé la table d'orientation).

J'ai synchronisé mon entourage vers 'carnet d'adresse'.
La synchronisation va bien sauf que mes fiches de contact auxquelles j'avais affectées des catégories (dans entourage ) n'ont plus de catégories (groupes) qui leurs sont affectées quand elles sont dans 'carnet d'adresse'.

quelqu'un aurait-il une idée pour que dans 'carnet d'adresse' mes fiches contacts puissent garder les catégories / groupes qui leurs étaient affectées dans entourage ?

Merci d'avance.
 
quelqu'un aurait-il une idée pour que dans 'carnet d'adresse' mes fiches contacts puissent garder les catégories / groupes qui leurs étaient affectées dans entourage ?
A proprement parler c'est impossible puisque les catégories d'Entourage n'ont pas de correspondance dans le Carnet d'adresses (les "groupes" sont différents, même si on peut y trouver des ressemblances - en réalité ça s'approche plus des contacts "Groupes" dans Entourage).

Tu pourras trouver des sortes de contournements, par exemple avec des AppleScripts du genre de Record Categories in fields qui permet de copier la catégorie dans un champ (lequel sera synchornisé). Ça vaut ce que ça vaut...
 
A proprement parler c'est impossible puisque les catégories d'Entourage n'ont pas de correspondance dans le Carnet d'adresses (les "groupes" sont différents, même si on peut y trouver des ressemblances - en réalité ça s'approche plus des contacts "Groupes" dans Entourage).

Tu pourras trouver des sortes de contournements, par exemple avec des AppleScripts du genre de Record Categories in fields qui permet de copier la catégorie dans un champ (lequel sera synchornisé). Ça vaut ce que ça vaut...
Merci Bernard pour votre réponse et votre solution.
(Il faudrait que je me replonge dans les Apple scripts) et cela ne m'enchante guère.

Il y a quand même une chose qui me chagrine ...., 'carnet d'adresses' reconnait mes différentes catégories que j'ai crée dans entourage et il me les affiches comme des groupes (ces derniers sont vides).

Mais, si 'carnet d'adresses' reconnait les catégories d'entourage, ont peu imaginer que c'est pas pour rien, non ?
 
Mais, si 'carnet d'adresses' reconnait les catégories d'entourage, ont peu imaginer que c'est pas pour rien, non ?
On peut imaginer, certes, mais ça ne sychronise quand même pas ;)

Pour compléter un peu les indications ci-dessus, tu peux jeter un oeil sur la page dédiée à ce point sur la FAQ MVP Entourage. Il y a une "combine" permettant de contourner ce point. En gros, il faut utiliser le script déjà cité, le modifier pour en assurer une synchro exploitable puis faire des groupes intelligents dans le carnet d'adresses, si j'ai bien compris. Mais je n'ai pas testé, c'est donc à prendre avec précaution pour le moment.
 
merci pour le conseil, mais la page de conseil est tout en anglais et ja crois que vais attendre que la prochaine MAJ prenne en compte les catégories d'entourage et pas seulement les groupes.
jf
 
Bon, d'accord ;) Alors voilà, j'ai testé un peu et trouvé une solution, qui vaut ce qu'elle vaut, qui a ses inconvénients, mais qui fonctionne. Ci-dessous une adaptation de l'AppleScript de Paul Berkowitz qui copie les catégories dans le champ "Remarques" de l'onglet "Autres" (mais attention, ça efface le contenu, il faudrait encore adapter un peu si tu veux conserver des choses).

Ensuite, ça va se synchroniser avec le carnet d'adresses et du coup, tu pourras y faire des "Groupes intelligents" basés sur le contenu des "Notes". Voilà. Au passage, j'ai noté que les Catégories ne sont pas synchronisées en groupes vides dans Carnet d'adresses...

Alors le script :

Bloc de code:
--Author: Paul Berkowitz -- Adaptation par Bernard Rey

tell application "Microsoft Entourage"
	
	
	try
		set theContacts to selection as list
		if class of item 1 of theContacts is not in {contact, group} then
			error number -128
		else
			display dialog "Enregistrer les catégories" & return & return & "• des contacts sélectionnés ?" & return & return & "• tous les contacts ?" buttons {"Annuler", "Sélection", "Tous"} default button "Sélection" with icon 1
			if button returned of result = "Annuler" then
				return
			else if button returned of result = "Tous" then
				set howMany to "all"
				set theContacts to (every contact)
			else
				set howMany to "sel"
			end if
		end if
	on error
		display dialog "Aucun contact n'étant sélectionné, voulez-vous enregistrer les catégories de TOUS les contacts ?" buttons {"Annuler", "Tous"} default button "Tous" with icon 1
		if button returned of result = "Annuler" then
			return
		else
			set howMany to "all"
			set theContacts to (every contact)
		end if
	end try
	
	
	set AppleScript's text item delimiters to {", "}
	repeat with theItem in theContacts
		if class of theItem = contact then
			
			my ProcessContact(theItem)
			
		else if howMany ≠ "all" then -- don't bother going through groups if all contacts are being processed
			
			my ProcessGroup(theItem)
		end if
	end repeat
	beep
	display dialog "Terminé !" buttons {"OK"} default button "OK" with icon 1
end tell

to ProcessContact(theContact)
	
	tell application "Microsoft Entourage"
		tell theContact
			
			set theCategoryIDs to its category
			set theCategories to {}
			repeat with i from 1 to count theCategoryIDs
				set end of theCategories to name of item i of theCategoryIDs
			end repeat
			
			set AppleScript's text item delimiters to {", "}
			set theCategories to theCategories as string
			set AppleScript's text item delimiters to {""}
			set description to theCategories
		end tell
	end tell
end ProcessContact

to ProcessGroup(theItem)
	
	tell application "Microsoft Entourage"
		set theEntries to content of every group entry of theItem
		
		repeat with theEntry in theEntries
			
			set {dName, eAddress} to {display name, address} of theEntry
			repeat 1 times
				if eAddress = "" then -- probably an embedded group
					try
						set theGroup to group dName
						my ProcessGroup(theGroup, num)
						exit repeat -- go on to next group member
					end try
				end if
				set foundContacts to find eAddress
				
				if foundContacts = {} then
					try
						if dName starts with "\"" then set dName to text 2 thru -2 of dName -- equivalent to display name without quotes
						set foundContacts to {contact dName} -- contact without email address
					end try -- leave as {}
				end if
				
				repeat with theContact in foundContacts -- whether 0, 1 or more
					
					my ProcessContact(theContact)
					
				end repeat
			end repeat
		end repeat
	end tell
	
	
end ProcessGroup

A enregistrer comme script et à placer dans le dossier ~/Documents/Données utilisateurs Microsoft/Entourage Script Menu Items. Ensuite, il faut sélectionner un ou plusieurs contacts et lancer le script depuis le menu AppleScript d'Entourage. En principe, ça devrait fonctionner ;)
 
merci Bernard pour cet outil

je vais l'essayer, mais en début janvier car je préfère faire cela en prenant mon temps et de toute façon, je ne manquerai pas de vous tenir au courant.

jean-françois