IPB

Bienvenue invité ( Connexion | Inscription )

> Aide création AppleScript
Options
Bipbip33
posté 6 Feb 2025, 22:05
Message #1


Nouveau Membre


Groupe : Membres
Messages : 1
Inscrit : 6 Feb 2025
Membre no 220 256



Bonjour à toutes et tous,

Je souhaiterais utiliser AppleScript pour transformer un fichier .csv.
Afin de rendre les choses facilement compréhensibles je joins deux fichiers:
1- Le fichier d’origine au format csv
2- Le fichier tel que je le souhaiterai après être passé dans le script.


Voici les étapes à réaliser

1-Ouverture du fichier dans numbers. (Information: Le fichier se situe dans le dossier téléchargement)
2-Suppression des 6 premières lignes
3-Suppression de toutes formes de style de police et de couleur de cellule
4-Rassembler toutes les cellules de la colonne nature de l’opération d’une même opération appartenant à la même date dans la première cellule de l’opération, la suppression de tous les espaces du texte n’est pas nécessaire, et ce pour chacune des opérations.
5- Supprimer toutes les lignes vides.

J’espère avoir réussi à exposer clairement ma demande.
Si quelqu’un parmi vous avait les connaissances suffisantes pour réaliser cela, si toute fois c’était réalisable, je serait très reconnaissant de pourvoir bénéficier de son aide pour l’écriture du script.

Par avance merci

Fichier(s) joint(s)
Fichier joint  Fichiers.zip ( 70.4 Ko ) Nombre de téléchargements : 1
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
Zeltron54
posté 7 Feb 2025, 16:57
Message #2


Adepte de Macbidouille
*

Groupe : Membres
Messages : 184
Inscrit : 15 Mar 2008
Lieu : Lorraine
Membre no 110 156



Bonjour,

Tu peux essayer ça (fait en vitesse, pas optimisé !)

Tu ouvres ton fichier csv avec numbers et tu lances le script.
Il crée un nouvelle feuille et copie les mouvements en concatennant les "nature de l'opération"


Code
--créer une nouvelle feuille
tell application "Numbers"
    activate
    tell document 1
        make new sheet
        tell active sheet
            delete every table
            set thesheet to make new table with properties {row count:2, column count:7}
        end tell
    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 front document
            set titre to value of cell (lacolonne & "7")
            
        end tell
        tell the first table of sheet 2 of front document
            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 front document
        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 front document
            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 front document
            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
            add row below last row
        end tell
        set laligneB to laligneB + 1
        set laligne to laligneplus
    end repeat
    
    
    tell the first table of sheet 2 of front document
        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
    
end tell


Ce message a été modifié par Zeltron54 - 7 Feb 2025, 19:11.


--------------------
Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6)
Imac 24 M3 2023 Ram 24Go macOS Sequoia 15.4.1
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 18th July 2025 - 07:55