Bonjour,
Confinement oblige, je me suis occupé.
Le nouveau script te demande de choisir ton fichier texte à traiter
Il en extrait toutes les adresses mail dans un fichier texte sur le bureau du nom de "Les adresses mail.txt"
Il ouvre ensuite ce fichier dans numbers et supprime toutes les adresses en doubles et enregistre ce fichier sur le bureau au nom de "Les adresses mail.numbers" . Les adresses sont par ordre alphabétique (tri oblige pour suppression des doubles).
Il te met un message lorsqu'il a terminé.
La colonne A cellule A1 = "mes adresses mail"
Les cellules A2 et suivantes contiennent les adresses mail. (prêtent pour le script d'envoi de mail)
Chez moi cela fonctionne...
Donne un retour !
Bloc de code:
set monfichier to choose file with prompt "Sélectionner le fichier texte à traiter"
open for access monfichier -- ouvre ce fichier en lecture
set vartoto to read monfichier -- lit le fichier et le met dans la variable vartoto
close access monfichier -- ferme le fichier
set lelog to open for access ((path to desktop folder as text) & "les adresses mail.txt") as text with write permission
write "Mes adresses mail" & return to lelog starting at eof
close access lelog
set separateur to {">", "<", " ", "(", ")", "[", "]"} -- Défini les séparateurs possible avant et après une adresse mail
set AppleScript's text item delimiters to ""
set nblignes to count of paragraph of vartoto
repeat with j from 1 to nblignes
set vartoto1 to ""
set vartoto1 to paragraph j of vartoto as string
set la to offset of "@" in vartoto1
if la = 0 then
else -- Si la ligne contient un @
set nbchar to count item of vartoto1
set la1 to (la - 1)
repeat
if la = 0 then
exit repeat
else
repeat
if item la1 of vartoto1 is in separateur then
exit repeat
end if
set la1 to (la1 - 1)
if la1 = 0 then exit repeat
end repeat
set lafin to (la + 1)
repeat
if item lafin of vartoto1 is in separateur then
exit repeat
end if
set lafin to (lafin + 1)
if lafin = nbchar + 1 then exit repeat
end repeat
set adress to text (la1 + 1) thru (lafin - 1) of vartoto1
set lelog to open for access ((path to desktop folder as text) & "les adresses mail.txt") as text with write permission
write adress & return to lelog starting at eof
close access lelog
end if
set vartoto1 to characters (la + 1) thru nbchar of vartoto1 as string
set nbchar to count item of vartoto1
set la to offset of "@" in vartoto1
set la1 to (la - 1)
end repeat
end if
end repeat
tell application "Finder"
set chemin to ((path to desktop folder) & "Les adresses mail.txt") as string
set chemin to chemin as alias
end tell
tell application "Numbers"
activate
open chemin
delay 3
set nr1 to 2
set nr2 to 3
tell table 1 of sheet 1 of front document
sort by column "a"
try
repeat
set rang1 to nr1 as string
set rang2 to nr2 as string
set la1 to value of cell ("A" & rang1)
set la2 to value of cell ("A" & rang2)
if la2 = la1 then
remove row nr2
set nr1 to (nr1 - 1)
set nr2 to (nr2 - 1)
end if
set nr1 to (nr1 + 1)
set nr2 to (nr2 + 1)
end repeat
end try
end tell
set chemin to ((path to desktop folder) & "Les adresses mail.numbers") as string
save front document in file chemin
quit
end tell
tell application "Finder"
activate
(display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
end tell