Aide création AppleScript

pourtant tu m'avais dit : ! ! ! :D
Oui et c'est le cas, les fichiers que je télécharge régulièrement porteront toujours les mêmes noms, mais je ne voulais pas donner le nom exact de ce fichier.

J'essaye le code avec 3 fichiers différents et donc 3 noms de fichiers différents, qui sont évidemment renommer correctement dans les scripts que tu as créés.
Seul un de ces fichiers me fait une erreur, quelque fois.
Je viens de le lancer, à l'instant, il m'a fait un code erreur. Suppression de la feuille et nouvelle tentative qui est arrivée au bout.
J'ai fermé numbers, puis relancé sans aucun document lancé.
Première tentative avec un premier fichier, pas de problème, je tente le script avec le fichier csv que je t'ai fait parvenir, arrêt du script rang 11 et message d'erreur....

Capture d’écran 2025-02-09 à 20.19.22.webp
 
Dernière édition:
Voilà une capture d'écran avec l'erreur sur le fichier csv préalablement envoyé.
Arrêt du script ligne 10 et message d'erreur.
Capture d’écran 2025-02-09 à 20.25.43.webp
 
Oui mais ton fichier ne s’appelle pas "mon fichier" mais "mon fichier - modifié" donc erreur il ne trouve pas le fichier !

C’était pour éviter ce genre d’erreur que lors de mon premier script je te proposais de l'ouvrir seul et de travailler sur le seul fichier ouvert ...
 
Dernière édition:
Coucou,
je viens de voir que sur le site "developpez.net" ou tu as également fais ta demande , un spécialiste, bien plus doué que moi: PBELL, t'a fais un script au petit oignons, je ne l'ai pas testé, je te laisse faire des tests ...
c'est là:

Tu auras l'embarras du choix :)
 
Oui mais ton fichier ne s’appelle pas "mon fichier" mais "mon fichier - modifié" donc erreur il ne trouve pas le fichier !
J'ai ouvert numbers et avant même de choisir un document à ouvrir j'ai lancé le script.
Le document n'est pas enregistré, il est créé lors de l'exécution du script.
C’était pour éviter ce genre d’erreur que lors de mon premier script je te proposais de l'ouvrir seul et de travailler sur le seul fichier ouvert ...
Tu es sûr que c'est la raison de l'erreur?
Car je viens de lancer le script, dans les mêmes conditions et là, il est allé au bout sans erreur.Capture d’écran 2025-02-09 à 21.11.51.webp
 
Coucou,
je viens de voir que sur le site "developpez.net" ou tu as également fais ta demande , un spécialiste, bien plus doué que moi: PBELL, t'a fais un script au petit oignons, je ne l'ai pas testé, je te laisse faire des tests ...
c'est là:

Tu auras l'embarras du choix :)
:smile:
J'avais augmenté les chances de réponses en publiant ma demande sur 3 sites, ici, macbidouille et developpez.net.
 
Le message d'erreur dit bien qu'il ne trouve pas le fichier ???

Je n'ai jamais réussi à reproduire une erreur chez moi, alors difficile de voir le pourquoi.

si le script de PBell te convient alors le problème sera réglé, sinon on continuera de chercher.
Tiens moi au courant.
 
Il le trouve, j'imagine, puisqu'il exécute la compilation comme attendue mais elle s'arrête au bout d'un certain nombre de lignes, ou alors il va jusqu'au bout sans message d'erreur.
La raison de l'erreur quand elle a lieu, je ne sais pas l'interpréter c'est pourquoi je te met la capture d'écran du message d'erreur.

Pourquoi des fois il s'arrête de compiler sur une ligne qui n'est pas toujours la même et d'autres fois il va jusqu'au bout alors que je suis dans les mêmes conditions d'exécution avec les mêmes données (nom de fichier etc)

Serait-ce un bug de l'application ?!?

Pour info, le script de PBell me renvoie un message d'erreur :smile:
 
Curieux
Chez moi le script de PBell fonctionne sans problème. Avec plusieurs tests, pas d'erreur.
Il a pris une autre approche en modifiant le fichier csv, alors que moi je le traite dans numbers.

Pour mon script j'ai refait plein de tests. Pas moyen de provoquer une erreur ! je ne comprend pas ce qui se passe chez toi.
 
Oui, c'est dingue.

J'ai remarqué que l'erreur que j'ai avec ton script et celui de PBell bien qu'il soient différents et que textuellement l'erreur ne semble pas être la même est qu'elle porte le même numéro -1728

Erreur script Zeltron54.webpErreur script PBell.webp
 
Comme déjà dit, cette erreur semble être un problème pour trouver le fichier (le nom ou le chemin doivent renvoyer une erreur).

Pour trouver le problème il faudrait posséder ton fichier CSV à traiter, voir exactement ou il se trouve sur ton ordi et de quelle manière tu exécutes les scripts.
 
Je me suis aperçu de quelque chose en travaillant sur le script de PBell.
Cela ne fonctionne pas avec un fichier original.
En revanche si ce même fichier est ouvert dans numbers puis exporté au format csv alors il fonctionne.

Or les fichiers avec lesquels tu travailles ne sont pas les fichiers originaux ( et je ne peux pas t'envoyer les fichiers originaux pour des raisons évidentes que tu auras comprises) mais des fichiers que tu as préalablement enregistrés au format csv.

Ceci expliquerait-il cela d'après toi ?
 
Bonjour,

Je ne crois pas !
Mais comme je ne suis plus sur de rien, on va tester avec ce script

Ce script
  • ouvre le fichier "monfichier.csv" qui se trouve dans téléchargement avec Numbers
  • exporte le fichier depuis numbers au format CSV avec le nom "export.csv" dans le dossier téléchargement
  • ferme le document numbers
  • il exécute l'ancien script sur le nouveau fichier export.csv qui viens d'être créé.

A voir si comme cela tu as des erreurs.
Il ne faudra pas oublier de supprimer le fichier "export.csv" après le test !

Bloc de code:
set mondoc to "monfichier"
set chemin to ((path to home folder) & "downloads:" & mondoc & ".csv") as string
set chemin to chemin as alias

tell application "Numbers"
    activate
    open chemin
    activate
    set chemin to ((path to home folder) & "downloads:" & "export.csv") as string
    export front document to file chemin as CSV --with properties "CSV"
    close front document
end tell

set mondoc to "export"
set chemin to ((path to home folder) & "downloads:" & mondoc & ".csv") as string
set chemin to chemin as alias


--créer une nouvelle feuille
tell application "Numbers"
    activate
    open chemin
    tell document mondoc
        make new sheet
        tell active sheet
            delete every table
            set thesheet to make new table with properties {row count:2, column count:8}
        end tell
    end tell
    tell the first table of sheet 2 of document mondoc
        remove column 1
        remove row 1
    end tell
    
    -- copier les titres de colonnes
    set colonne to {"A", "B", "C", "D", "E", "F", "G"}
    repeat with i from 1 to 7
        
        set lacolonne to item i of colonne
        
        tell the first table of sheet 1 of document mondoc
            set titre to value of cell (lacolonne & "7")
            
        end tell
        tell the first table of sheet 2 of document mondoc
            set value of cell (lacolonne & "1") to titre
        end tell
    end repeat
end tell

set laligne to 8
set laligneplus to 8
set laligneB to 2

tell application "Numbers"
    activate
    tell the first table of sheet 1 of document mondoc
        set nbligne to count row
    end tell
end tell


-- Concatenner et copier les mouvements
tell application "Numbers"
    activate
    
    repeat
        if laligne > nbligne then exit repeat
        tell the first table of sheet 1 of document mondoc
            set ladate to value of cell ("A" & laligne)
            set nature to value of cell ("B" & laligne)
            
            repeat
                set laligneplus to laligneplus + 1
                if laligneplus > nbligne then exit repeat
                set x to value of cell ("A" & laligneplus)
                
                if x is missing value then
                    set nature to nature & " " & value of cell ("B" & laligneplus)
                else
                    exit repeat
                end if
            end repeat
            set debit to value of cell ("c" & laligne)
            set credit to value of cell ("D" & laligne)
            set devise to value of cell ("E" & laligne)
            set datevaleur to value of cell ("F" & laligne)
            set libelle to value of cell ("G" & laligne)
        end tell
        
        tell the first table of sheet 2 of document mondoc
            add row below last row
            set value of cell ("A" & laligneB) to ladate
            set value of cell ("B" & laligneB) to nature
            set value of cell ("C" & laligneB) to debit
            set value of cell ("D" & laligneB) to credit
            set value of cell ("E" & laligneB) to devise
            set value of cell ("F" & laligneB) to datevaleur
            set value of cell ("G" & laligneB) to libelle
            
        end tell
        
        
        
        set laligneB to laligneB + 1
        set laligne to laligneplus
    end repeat
    
    
    tell the first table of sheet 2 of document mondoc
        set the selection range to column "C"
        set format of selection range to currency
        set the selection range to column "D"
        set format of selection range to currency
        set the selection range to column "A"
        set format of selection range to date and time
        set the selection range to column "F"
        set format of selection range to date and time
        
    end tell
end tell
 
Bonjour Zeltron54

L'éditeur de script et numbers sont fermés.
Je lance le script, compilation jusqu'à la 11 ème ligne puis erreur suivante.
Capture d’écran 2025-02-10 à 13.58.18.webp
Je ferme numbers et l'éditeur de script, je relance, ça fonctionne et ce plusieurs fois de suite puis au bout d'un moment rebelote, à nouveau l'erreur.
Dommage qu'il n'y ai pas un journal ou un logiciel dans l'éditeur pour voir pourquoi l'erreur apparait de temps en temps.
Désolé, je n'arrive pas à savoir pourquoi cela me fait ça.

EDIT:
J'ai aussi quelque fois cette erreur il s'arrête sur un rang et une colonne aléatoirement, ici débit.Capture d’écran 2025-02-10 à 14.13.19.webp
 
Dernière édition:
La je ne comprend pas !
J'ai tester X fois sans avoir d'erreur.
As-tu un autre mac pour tester sur une autre machine ?