Bonjour,
Non en faite les Adresseemail c'était juste car j'ai piqué le code d'un autre site et je l'ai modifié sans changer le nom des variables
J'ai regardé le script de ton deuxième message,
Bloc de code:
set emailAddress to text item 1 of someText
----
set emailAddress1 to text item 2 of someText
tu compares l'élément dans la première colonne d'une ligne avec un élément de la deuxième colonne de la ligne suivante.
Voici le script qui supprime les lignes si l'élément de la deuxième colonne est un doublon qui se suit.
Exemple, si pomme est dans deuxième colonne des lignes 3 à 9, les lignes 4 à 9 seront supprimées.
Bloc de code:
set PathFichier to ((path to desktop as string) & "Fichier.txt") as alias
set ListeLigne to paragraphs of (read PathFichier)
set {i, oldTID, newText, t_count} to {1, text item delimiters, item 1 of ListeLigne, count ListeLigne}
set text item delimiters to {":"}
set endLine to character id 10 -- ou return si Mac au lieu de Unix
repeat while i < t_count
set someText to item i of ListeLigne
set t_item2 to text item 2 of someText
repeat with k from (i + 1) to t_count
if text item 2 of (item k of ListeLigne) is not t_item2 then
if i > 1 then set newText to newText & endLine & someText
if k = t_count then set newText to newText & endLine & (last item of ListeLigne)
exit repeat
end if
end repeat
set i to k
end repeat
set text item delimiters to oldTID
my write_to_file(PathFichier, newText)
on write_to_file(f, t_data)
try
set openfile to open for access f with write permission
set eof openfile to 0
write t_data to openfile
close access openfile
on error err
try
close access f
end try
display alert err
end try
end write_to_file
Si vous voulez comparer la premiére colonne avec la deuxième colonne de la ligne suivante : remplacer
set t_item2 to text item 2 of someText par
set t_item2 to text item 1 of someText.
Ajuster le
text item delimiters par
{" : "} s'il y a des espaces avant et après le
:, sinon la comparaison ne fonctionnera pas, parce que l'élément dans la première colonne a un espace après, l'élément dans la deuxième colonne a un espace avant.
Voici le script qui supprime les lignes si l'élément de la deuxième colonne est un doublon. (ce n'est pas obligatoire d'être dans la ligne suivante).
Exemple, si
pomme est dans deuxième colonne de la deuxième ligne et dans la deuxième colonne de la dixième ligne ,(
pomme n'est pas dans les lignes 4 à 9), la dixième ligne sera supprimé.
Donc, aucun doublon dans la deuxième colonne
Bloc de code:
set PathFichier to ((path to desktop as string) & "Fichier.txt") as alias
set ListeLigne to paragraphs of (read PathFichier)
set {i, oldTID, newText, t_count, L} to {1, text item delimiters, "", count ListeLigne, {}}
set text item delimiters to {":"}
set endLine to character id 10 -- ou return si Mac au lieu de Unix
repeat with i from 1 to t_count
set t_item2 to text item 2 of item i of ListeLigne
if t_item2 is not in L then
set end of L to t_item2
if i < t_count then
set newText to newText & item i of ListeLigne & endLine
else
set newText to newText & item i of ListeLigne
end if
end if
end repeat
set text item delimiters to oldTID
my write_to_file(PathFichier, newText)
-- ajoute la fonction on write_to_file(f, t_data) de mon premier script