lancelexportation() on lancelexportation() tell application "Address Book" with timeout of 3200 seconds set code to "" set myfile to ("Macintosh HD:Users:Shared:contacts.xml") --update this to where you want your xml file to be set i to 1 set code to "" & "" repeat with this_person in every person --of group "blabla" if (i mod 50 = 0) then my write_to_file(code, myfile, true) --display dialog (i & " contacts trait?s" as string) giving up after 1 set code to "" end if set i to (i + 1) set letel to "" set ladresse to "" set Telmobile1 to letel as string set Telephonebureau to letel as string set Telephonedomicile to letel as string set Telecopiedomicile to letel as string set Telecopiebureau to letel as string set Telephone2bureau to letel as string set Telephone2domicile to letel as string set Telephoneautre to letel as string set Telecopieautre to letel as string set Adressebureau to ladresse set Adressedomicile to ladresse set Adresseautre to ladresse set first_name to first name of this_person as string set middle_name to middle name of this_person as string set last_name to last name of this_person as string if first_name is not "missing value" then else set first_name to "" end if if middle_name is not "missing value" then set middle_name to " " & middle_name else set middle_name to "" end if if last_name is not "missing value" then else set last_name to "" end if set Nom to last_name & ", " & first_name & middle_name set ThingToStrip to "," if Nom ends with ThingToStrip then set len_of_thing to (get count of ThingToStrip) copy characters 1 thru -(len_of_thing + 1) of Nom as string to temp1 set Nom to temp1 end if set societe to organization of this_person as string if societe is "missing value" then set societe to "" set phoneList to the phones of this_person repeat with aPhone in phoneList set letel to the value of aPhone as string set lelabel to the label of aPhone as string if lelabel is "mobile" then set Telmobile1 to letel as string else if lelabel is "work" then set Telephonebureau to letel as string else if lelabel is "home" then set Telephonedomicile to letel as string else if lelabel is "fax" then set Telecopiedomicile to letel as string else if lelabel is "work fax" then set Telecopiebureau to letel as string else if lelabel is "travail 2" then set Telephone2bureau to letel as string else if lelabel is "domicile 2" then set Telephone2domicile to letel as string else if lelabel is "home fax" then set Telecopiedomicile to letel as string else if lelabel is "other" then set Telephoneautre to letel as string else if lelabel is "autre fax" then set Telecopieautre to letel as string end if end repeat set addresslist to the addresses of this_person repeat with anAddress in addresslist set lelabel to the label of anAddress as string set ladresse to "" set espace to " " set lestreet to street of anAddress as string if lestreet is not "missing value" then set lestreet to lestreet & espace else set lestreet to "" end if set lezip to zip of anAddress as string if lezip is not "missing value" then set lezip to lezip & espace else set lezip to "" end if set lecity to city of anAddress as string if lecity is not "missing value" then set lecity to lecity & espace else set lecity to "" end if set lestate to state of anAddress as string if lestate is not "missing value" then set lestate to lestate & espace else set lestate to "" end if set lecountry to country of anAddress as string if lecountry is not "missing value" then set lecountry to lecountry & espace else set lecountry to "" as string end if set ladresse to lestreet & lezip & lecity & lestate & lecountry if lelabel is "work" then set Adressebureau to ladresse else if lelabel is "home" then set Adressedomicile to ladresse else if lelabel is "autre" then set Adresseautre to ladresse else display dialog "label ?trange" end if end repeat set Adressedemessagerie to "" repeat with anemail in every email of this_person set Adressedemessagerie to value of anemail end repeat set Notes to note of this_person as string if Notes is "missing value" then set Notes to "" set code to code & "" set code to code & "" set code to code & "" set code to code & "" set code to code & "" set code to code & "" set code to code & "" set code to code & "" set code to code & "" set code to code & "" set code to code & "" set code to code & "" set code to code & "" set code to code & "" set code to code & "" set code to code & "" set code to code & "" set code to code & "" end repeat set code to code & "" my write_to_file(code, myfile, true) end timeout end tell end lancelexportation tell application "Address Book" to display dialog ("going on...") giving up after 2 on write_to_file(this_data, target_file, append_data) try set the target_file to the target_file as text set the open_target_file to open for access file target_file with write permission if append_data is false then set eof of the open_target_file to 0 write this_data to the open_target_file starting at eof close access the open_target_file return true end try end write_to_file