Il semblerait que plus personne ne soit actif dans cette discussion. Si vous souhaitez reprendre la conversation, posez simplement une nouvelle question.

Changer sheet Numbers Mac

Bonjour,

J'aimerais changer de feuille temporairement mais je me heurt à un souci …


add row below last row of table 1 of sheet "Année comptable" of table 5 of sheet "Annexe" of document 1


Je suis dans une instruction Tell dans la table 5 avec une boucle … j'incorpore une nouvelle instruction Tell pour aller vers la table 1 de la feuille "Année comptable" … mais me heurt à une erreur ; puis revenir à la table 5


Comment supprimer "of table 5 of sheet "Annexe" en restant dans la boucle (add row below last row of table 1 of sheet "Année comptable" of document 1) ?



Changer de sheet sur Numbers ?

[Titre Modifié par l’Hôte]

MacBook Pro 13″, 15.0

Publiée le 26 oct. 2024 à 14h51

Répondre
7 réponses

Le 26 oct. 2024 à 15h17 en réponse à cm950

Bonjour,


Il faut invariablement que votre AppleScript sache quelle tableau et quelle feuille s’adresse votre commande. Vous pouvez le faire de manière délibérée (votre 1ere commande) où vous précisez exactement toutes les références (document, tableau, feuille…), ou le faire indirectement avec des instructions “tell”.

Le 26 oct. 2024 à 17h27 en réponse à 6x6

Oui tout à fait d'accord pour la variable.

Néanmoins il ne veut pas séparer les sheets (même avec activesheet) comme le montre cette error :

error "Erreur dans Numbers : Il est impossible d’obtenir sheet \"Année comptable\" of table 5 of sheet \"Annexe\" of document 1." number -1728 from sheet "Année comptable" of table 5 of sheet "Annexe" of document 1 ?

Le 26 oct. 2024 à 18h39 en réponse à 6x6

**** Tout part d'une colonne de date dans la table 5 la feuille "Annexe". Au cours d'un Repeat, la Liste est remplie, j'active la Table 1 de la feuille 1 de "Année comptable".

****


set dateAujourdhui to the current date -- La date du jour


set dateAujourdhui to dateAujourdhui + (3 * days)


tell application "Numbers"


tell table 5 of sheet "Annexe" of document 1


end tell


tell table 1 of sheet "Année comptable" of document 1


end tell


(*tell document 1 -- Permet d'activer les feuilles.


set active sheet to sheet 1


end tell*)


set activeSheet to sheet 5 of front document


activate


-- my selectSheet("Annexe"J)


tell table 5 of sheet "Annexe" of document 1


set selection range to range "D2:D20" -- selectionne une plage


set laSelection to selection range -- obtient la selection


set listCellule to name of cell of laSelection -- liste des cellules dans une variable liste


set nbCellule to count listCellule --nombre de cellules de la selection


set colDate to {} -- creer une liste 


set nomCol to ""


set numRng to ""


repeat with i from 1 to nbCellule --boucle sur toutes les cellules de la selection


set laCellule to item i of listCellule --obtient le nom de la cellule en cours


set laValeur to value of cell laCellule --obtient la valeur de la cellule en cours


display dialog (laValeur) as string


if ((laValeur ≥ dateModif) and (laValeur ≤ dateAujourdhui)) or (laValeur = dateAujourdhui) then -- si valeur <= >= à 


set numRng to the last item of laCellule


set numRng to last item of numRng


set the end of colDate to laValeur & ", " -- copie la date dans la liste


set nomCol to the first item of laCellule -- récupérer le nom de la colonne


repeat with i from 1 to 6


set nomCol to ASCII number of (nomCol) -- le transforme en chiffre


set nomCol to ASCII character of (nomCol + 1)


set laCelluleLigne to nomCol & numRng


set newVal to value of cell laCelluleLigne


set the end of colDate to newVal & ", " -- copie les valeurs des cellules de la rangée de la date


end repeat


display dialog colDate as string


if (count colDate) > 1 then


tell table 1 of sheet "Année comptable"


set activeSheet to table 1 of sheet "Année comptable" -- active la table


add row below last row -- ajouter la dernière rangée


-- Copier la liste dans la feuille 1


display dialog "Gagné !"


end tell


end if


else


end if


end repeat


tell table 1 of sheet 1 of document 1


--if not colDate = {} then


add row below last row of table 1 of sheet "Année comptable" of document 1


set the value of cell to the first item of colDate


-- activer la dernière ligne de la table "Comptabilité"


-- compter entrées dans liste colDate


-- assigner dans chaque cellule les valeurs de la liste


display dialog (value of cell)


end tell


--end tell


--end if


display dialog colDate as string


set colDate to {}


end tell


end tell

Le 27 oct. 2024 à 15h57 en réponse à cm950

Merci !


Dans le script ci-dessus, je ne vois pas la ligne :

add row below last row of table 1 of sheet "Année comptable" of table 5 of sheet "Annexe" of document 1


Ceci dit, cette ligne est incorrecte : une fois que vous spécifiez "of sheet", l'élément suivant doit être un document ("of document") car une feuille ("sheet") ne peut pas être contenue dans un tableau ("table").


À l'intérieur d'une boucle référençant une autre feuille et tableau, vous devriez pouvoir insérer un bloc "tell" pour travailler sur une autre feuille et tableau. Par exemple:


tell table 5 of sheet "Annexe" of document 1

    <instructions pour table 5>

    tell table 1 of sheet "Année comptable" of document 1
        Add row below last row
        <autres instructions pour table 1>
    end tell

    <autres instructions pour table 5>

end tell

Changer sheet Numbers Mac

Bienvenue dans la Communauté d’assistance Apple
Un forum où les clients Apple s’entraident avec leurs produits. Faites vos premiers pas avec votre compte Apple.