Spreadsheet Workbench/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(260 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav/fr
{{Docnav/fr
|[[Sketcher Workbench/fr|Atelier Esquisse]]
|[[Sketcher Workbench/fr|Atelier Sketcher]]
|[[Start Workbench/fr|Atelier Start]]
|[[Start_Workbench/fr|Atelier Start]]
|IconL=Workbench_Sketcher.svg
|IconL=Workbench_Sketcher.svg
|IconR=Workbench_Start.svg
|IconR=Workbench_Start.svg
Line 11: Line 12:
== Introduction ==
== Introduction ==


L'[[Image:Workbench_Spreadsheet.svg|24px]] [[Spreadsheet Workbench/fr|atelier Spreadsheet]] vous permet de créer et d’éditer des feuilles de calcul, de remplir la feuille de calcul avec les données extraites d’un modèle, d’effectuer des calculs et de les exporter vers d’autres applications de tableurs telles que LibreOffice ou Microsoft Excel.
L'[[Image:Workbench_Spreadsheet.svg|24px]] [[Spreadsheet_Workbench/fr|atelier Spreadsheet]] vous permet de créer et de modifier des feuilles de calcul, d'utiliser les données de la feuille de calcul comme paramètres dans un modèle, de remplir la feuille de calcul avec des données extraites d'un modèle, d'effectuer des calculs et d'exporter les données vers d'autres applications de feuilles de calcul telles que LibreOffice ou Microsoft Excel.


{{TOCright}}
{{TOCright}}


[[File:Spreadsheet_screenshot.jpg|600px]]
<div class="mw-translate-fuzzy">
{{Caption|Une feuille de tableur avec un certain nombre de cellules remplies de texte et de quantités}}
[[File:Spreadsheet_screenshot.jpg|thumb|left|600px|Copie d'écran d'un tatbleur]]
{{Clear}}
</div>


== Tools ==
<span id="Tools"></span>
== Outils ==


* [[File:Spreadsheet_CreateSheet.svg|24px]] [[Spreadsheet_CreateSheet|Create sheet]]: create a new spreadsheet.
* [[File:Spreadsheet_CreateSheet.svg|24px]] [[Spreadsheet_CreateSheet/fr|Feuille de calcul]] : créer une nouvelle feuille de calcul.


* [[File:Spreadsheet_Import.svg|24px]] [[Spreadsheet_Import|Import]]: import a comma-separated values (CSV) file into a spreadsheet.
* [[File:Spreadsheet_Import.svg|24px]] [[Spreadsheet_Import/fr|Importer]] : importer un fichier CSV dans une feuille de calcul.
* [[File:Spreadsheet_Export.svg|24px]] [[Spreadsheet_Export|Export]]: export a comma-separated values (CSV) file from a spreadsheet.


* [[File:Spreadsheet_MergeCells.svg|24px]] [[Spreadsheet_MergeCells|Merge cells]]: merge selected cells.
* [[File:Spreadsheet_Export.svg|24px]] [[Spreadsheet_Export/fr|Exporter]] : exporter un fichier CSV depuis une feuille de calcul.
* [[File:Spreadsheet_SplitCell.svg|24px]] [[Spreadsheet_SplitCell|Split cell]]: split previously merged cells.


* [[File:Spreadsheet_AlignLeft.svg|24px]] [[Spreadsheet_AlignLeft|Align left]]: align the contents of selected cells to the left.
* [[File:Spreadsheet_MergeCells.svg|24px]] [[Spreadsheet_MergeCells/fr|Fusionner des cellules]] : fusionner les cellules sélectionnées.
* [[File:Spreadsheet_AlignCenter.svg|24px]] [[Spreadsheet_AlignCenter|Align center]]: align the contents of selected cells to the center horizontally.
* [[File:Spreadsheet_AlignRight.svg|24px]] [[Spreadsheet_AlignRight|Align right]]: align the contents of selected cells to the right.
* [[File:Spreadsheet_AlignTop.svg|24px]] [[Spreadsheet_AlignTop|Align top]]: align the contents of selected cells to the top.
* [[File:Spreadsheet_AlignVCenter.svg|24px]] [[Spreadsheet_AlignVCenter|Align vertical center]]: align the contents of selected cells to the center vertically.
* [[File:Spreadsheet_AlignBottom.svg|24px]] [[Spreadsheet_AlignBottom|Align bottom]]: top align the contents of selected cells to the bottom.


* [[File:Spreadsheet_StyleBold.svg|24px]] [[Spreadsheet_StyleBold|Style bold]]: set the contents of selected cells to bold.
* [[File:Spreadsheet_SplitCell.svg|24px]] [[Spreadsheet_SplitCell/fr|Diviser une cellule]] : diviser les cellules précédemment fusionnées.
* [[File:Spreadsheet_StyleItalic.svg|24px]] [[Spreadsheet_StyleItalic|Style italic]]: set the contents of selected cells to italic.
* [[File:Spreadsheet_StyleUnderline.svg|24px]] [[Spreadsheet_StyleUnderline|Style underline]]: set the contents of selected cells to underlined.


* [[File:Spreadsheet_SetAlias.svg|24px]] [[Spreadsheet_SetAlias|Set alias]]: set alias for selected cells.
* [[File:Spreadsheet_AlignLeft.svg|24px]] [[Spreadsheet_AlignLeft/fr|Alignement à gauche]] : aligner le contenu des cellules sélectionnées vers la gauche.


* [[File:Spreadsheet_AlignCenter.svg|24px]] [[Spreadsheet_AlignCenter/fr|Alignement au centre]] : aligner le contenu des cellules sélectionnées au centre, horizontalement.
* {{Button|Black}} and {{Button|White}} set the foreground and the background colors of the selected cells.


* [[File:Spreadsheet_AlignRight.svg|24px]] [[Spreadsheet_AlignRight/fr|Alignement à droite]] : aligner le contenu des cellules sélectionnées vers la droite.
== Expressions cellulaires ==


* [[File:Spreadsheet_AlignTop.svg|24px]] [[Spreadsheet_AlignTop/fr|Alignement en haut]] : aligner le contenu des cellules sélectionnées en haut.
Une cellule de feuille de calcul peut contenir du texte arbitraire ou une expression. Techniquement, les expressions doivent commencer par un signe égal '='. Cependant, le tableur tente d’être intelligent ; si vous entrez ce qui ressemble à une expression sans le signe '=', celui-ci sera ajouté automatiquement.


* [[File:Spreadsheet_AlignVCenter.svg|24px]] [[Spreadsheet_AlignVCenter/fr|Alignement vertical au centre]] : aligner le contenu des cellules sélectionnées au centre, verticalement.
Les expressions cellulaires peuvent contenir des nombres, des fonctions, des références à d'autres cellules et des références à des propriétés du modèle (voir toutefois les [[#Limitations Courantes|limitations courantes]] ci-dessous). Les cellules sont référencées par leur colonne (lettre CAPITALE) et leur rangée (nombre). Une cellule peut également être référencée par son [[#alias_name|alias]](ci-dessous). Exemple : B4 + A6


* [[File:Spreadsheet_AlignBottom.svg|24px]] [[Spreadsheet_AlignBottom/fr|Alignement en bas]] : aligner le contenu des cellules sélectionnées vers le bas.
Les références aux objets d'un modèle sont expliquées sous [[#Références aux données CAO|Références aux données CAO]] ci-dessous. L'utilisation des valeurs de cellule de la feuille de calcul pour définir les propriétés du modèle est expliquée dans [[#Données de la feuille de calcul dans les Expressions|Données de la feuille de calcul dans Expressions]] ci-dessous. Pour plus de détails sur la manière dont les expressions sont formées, voir [[Expressions|Expressions]].


* [[File:Spreadsheet_StyleBold.svg|24px]] [[Spreadsheet_StyleBold/fr|Texte en gras]] : mettre en gras le contenu des cellules sélectionnées.
== Fonctions Supportées ==


* [[File:Spreadsheet_StyleItalic.svg|24px]] [[Spreadsheet_StyleItalic/fr|Texte en italique]] : mettre le contenu des cellules sélectionnées en italique.
Les fonctions trigonométriques standard et autres fonctions mathématiques courantes ainsi que les fonctions d'agrégation statistique sont prises en charge (voir [[Expressions|Expressions)]].


* [[File:Spreadsheet_StyleUnderline.svg|24px]] [[Spreadsheet_StyleUnderline/fr|Texte souligné]] : permettre de souligner le contenu des cellules sélectionnées.
== Interaction entre feuilles de calcul et objets CAO ==


* [[File:Spreadsheet_SetAlias.svg|24px]] [[Spreadsheet_SetAlias/fr|Alias]] : définir l'alias d'une cellule sélectionnée.
Les données contenues dans les cellules d'une feuille de calcul peuvent être utilisées dans les expressions de paramètres de modèle de CAO. Ainsi, une feuille de calcul peut être utilisée comme source pour les valeurs de paramètres utilisées dans un modèle, regroupant efficacement les valeurs à un endroit. Lorsque les valeurs sont modifiées dans la feuille de calcul, elles sont propagées dans tout le modèle.


* {{Button|Noir}} et {{Button|Blanc}} définissent les couleurs de premier plan et d'arrière-plan des cellules sélectionnées.
De même, les propriétés des objets de modèle CAO peuvent être utilisées dans les expressions des cellules de la feuille de calcul. Cela permet d'utiliser des propriétés d'objet telles que le volume ou la surface dans la feuille de calcul. Si le nom d'un objet dans le modèle CAO est modifié, le changement sera automatiquement propagé à toutes les références dans les expressions de feuille de calcul en utilisant le nom qui a été modifié.


<span id="Preferences"></span>
Plusieurs feuilles de calcul peuvent être utilisées dans un document ; les feuilles de calcul peuvent recevoir un nom attribué (renommage) par l'utilisateur, comme tout autre objet.
== Préférences ==


* [[Image:Preferences-spreadsheet.svg|32px]] [[Spreadsheet_Preferences/fr|Préférences]] : les préférences pour l'atelier Spreadsheet. {{Version/fr|0.20}}
FreeCAD vérifie les dépendances cycliques. Voir [[Spreadsheet_Workbench/fr#Limitations Courantes|limitations courantes]].


<span id="Removing_cells_can_be_dangerous"></span>
=== Propriétés de Cellule ===
== Supprimer des cellules peut être dangereux ==


Remarquez que la suppression des cellules contenant des données peut casser la feuille de calcul et votre modèle s'il repose sur la feuille de calcul. Vous n'êtes pas prévenu si cela se produit.
Les propriétés de la cellule peuvent être éditées avec un clic-droit dans la cellule. La boîte de dialogue suivante apparaît :

<span id="Insert_and_remove_rows_and_columns"></span>
== Insérer et supprimer des lignes et des colonnes ==

Des lignes et des colonnes peuvent être insérées ou supprimées en faisant un clic droit sur un en-tête de ligne ou de colonne et en sélectionnant l'option appropriée dans le menu contextuel. Il est possible de sélectionner d'abord plusieurs lignes ou colonnes. Soit en maintenant la touche {{KEY|Ctrl}} enfoncée tout en sélectionnant les en-têtes, soit en maintenant le bouton gauche de la souris enfoncé et en faisant glisser la souris.

<span id="Edit_cells"></span>
== Éditer des cellules ==

Le contenu d'une cellule peut être modifié en sélectionnant la cellule et en entrant une valeur dans la boîte de saisie {{MenuCommand|Contenu}} en haut de la fenêtre. Pour modifier une cellule sur place, sélectionnez-la et appuyez sur {{KEY|F2}} ou double-cliquez dessus.

<span id="Delete_cells"></span>
== Supprimer des cellules ==

Pour supprimer une ou plusieurs cellules, sélectionnez-les et appuyez sur {{KEY|Suppr}}. Cela supprimera leur contenu, leurs propriétés et leurs alias. Pour supprimer uniquement le contenu d'une cellule, il convient de l'éditer.

<span id="Cut_and_copy-paste_cells"></span>
== Couper et copier-coller des cellules ==

Les opérations couper et copier-coller peuvent être utilisées sur les cellules des feuilles de calcul. Vous pouvez utiliser les raccourcis normaux pour ces opérations : {{KEY|Ctrl}}+{{KEY|X}}, {{KEY|Ctrl}}+{{KEY|C}} et {{KEY|Ctrl}}+{{KEY|V}} respectivement. Pour sélectionner plusieurs cellules, maintenez la touche {{KEY|Ctrl}} enfoncée tout en sélectionnant, ou maintenez le bouton gauche de la souris enfoncé et faites glisser pour sélectionner une plage de cellules rectangulaires.

Les opérations couper et copier enregistrent le contenu, les propriétés et les alias des cellules dans le presse-papiers. L'opération de collage écrit les données de manière à ce que le contenu de la cellule supérieure gauche des données stockées soit déposé dans la cellule active. Les autres contenus stockés sont placés par rapport à cette cellule. Les formules sont mises à jour en conséquence. Les alias ne sont collés que s'ils sont uniques.

<span id="Cell_properties"></span>
== Propriétés d'une cellule ==

Les propriétés d'une cellule de feuille de calcul peuvent être modifiées en cliquant droit sur la cellule et en sélectionnant {{MenuCommand|Propriétés...}} dans le menu contextuel. La boîte de dialogue suivante s'affiche :


[[File:SpreadsheetCellPropDialog.png]]
[[File:SpreadsheetCellPropDialog.png]]
Line 78: Line 98:
* Alignement : alignement horizontal et vertical du texte
* Alignement : alignement horizontal et vertical du texte
* Style : style du texte : gras, italique, souligné
* Style : style du texte : gras, italique, souligné
* Affichage unités : <span id="units_tab"></span> affiche l'unité de la cellule. Veuillez lire la section [[Spreadsheet_Workbench#Unités|Unités]] ci-dessous.
* Affichage unités : affiche l'unité de la cellule. Veuillez lire la section [[#Unités|Unités]] ci-dessous.
* Alias : <span id="alias_name"></span> défini un nom pour la cellule. Ce nom peut être utilisé dans les formules des cellules ainsi que dans les expressions FreeCAD.
* Alias : définit un [[Spreadsheet_SetAlias/fr|alias]] pour cette cellule. Cet alias peut être utilisé dans les formules de cellule et aussi dans les [[Expressions/fr|expressions]] générales; voir la section [[#Donn.C3.A9es_de_la_feuille_de_calcul_dans_les_expressions|Données de la feuille de calcul dans les expressions]] pour plus d'informations.
Bien que vous puissiez utiliser les références de ligne et colonne dans une expression pour référencer une cellule, la meilleure pratique consiste à lui attribuer un nom d’alias et de l’utiliser. Par exemple, si les données de la cellule B1 contiennent le paramètre de longueur d'un objet, un alias "MyObject_Length" permettrait à la valeur d'être appelée "Spreadsheet.MyObject_Length" au lieu de "Spreadsheet.B1". {{Version|0.16}}


<span id="Cell_expressions"></span>
=== Références aux données CAO ===
== Expressions dans les cellules ==


Une cellule de feuille de calcul peut contenir un nombre, un texte ou une expression. Les expressions doivent commencer par le signe égal "=".
Comme indiqué ci-dessus, il est possible de référencer les données du modèle CAO dans des expressions de feuille de calcul.


Les expressions de cellules peuvent contenir des nombres, des fonctions, des références à d'autres cellules et des références à des propriétés du modèle (voir [[#Limites_actuelles|Limitations actuelles]] ci-dessous). Une cellule peut être référencée par son adresse (lettre majuscule de la colonne + numéro de ligne, par exemple B4) ou par son [[Spreadsheet_SetAlias/fr|alias]].
Les expressions calculées dans les cellules de la feuille de calcul commencent par un signe égal ('='). Cependant, le mécanisme de saisie du tableur tente d’être astucieux. Une expression peut être entrée sans le signe '=' ; si la chaîne entrée est une expression valide, un '=' est automatiquement ajouté lors de la frappe de {{KEY|Enter}}. Si la chaîne entrée n'est pas une expression valide (souvent le résultat d'une saisie avec une casse incorrecte, par exemple "MonCube.longueur" à la place de "MonCube.Longueur"), aucun '=' n'est ajouté et cela est traité comme une simple chaîne de texte.


'''Remarque :''' les expressions de cellules sont traitées par FreeCAD comme du code de programmation. Par conséquent, lorsque vous modifiez une cellule, le contenu que vous voyez peut ne pas suivre vos paramètres d'affichage :
Remarque : le comportement ci-dessus (insertion automatique de '=') a des travers désagréables :
* Le séparateur décimal est toujours un point. Mais les virgules peuvent également être utilisées lors de la saisie des valeurs.
* si vous souhaitez conserver une colonne de noms correspondant aux noms d'[[#alias_name|alias]] dans une colonne de valeurs adjacente, vous devez saisir le nom dans la colonne d'étiquette avant celle donnée à la cellule dans la colonne de valeur comme nom d'alias. Sinon, lorsque vous entrez le nom d'alias dans la colonne d'étiquette, la feuille de calcul considère qu'il s'agit d'une expression et la remplace par "=<alias_name>" ; et le texte affiché correspondra à la valeur de la cellule <alias_name>.
* Le nombre de décimales affichées peut différer de vos [[Preferences_Editor/fr#Unit.C3.A9s|paramètres de préférences]].
* Si vous faites une erreur lors de la saisie du nom dans la colonne d'étiquette et souhaitez le corriger, vous ne pouvez pas le changer simplement en nom d'alias. Au lieu de cela, vous devez d'abord remplacer le nom d'alias par un autre nom, puis corriger le nom du texte dans la colonne d'étiquette, puis remplacer le nom d'alias dans la colonne de valeur par son nom d'origine.


Les références aux objets dans le modèle sont expliquées ci-dessous [[#R.C3.A9f.C3.A9rences_aux_donn.C3.A9es_CAO|Références aux données CAO]]. L'utilisation des valeurs de cellule de feuille de calcul pour définir les propriétés du modèle est expliquée ci-dessous [[#Donn.C3.A9es_de_la_feuille_de_calcul_dans_les_expressions|Données de la feuille de calcul dans les expressions]]. Pour plus d'informations sur les expressions et les fonctions disponibles, voir [[Expressions/fr|Expressions]].
Une façon d'éviter ces problèmes consiste à préfixer les étiquettes de texte correspondant aux noms d'alias avec une chaîne fixe, les rendant ainsi différentes. Notez que "_" ne fonctionnera pas, car il est converti en "=". Cependant, un blanc, bien qu'invisible, fonctionnera.


<span id="Interaction_between_spreadsheets_and_the_CAD_model"></span>
Le tableau suivant montre quelques exemples en supposant que le modèle a une fonctionnalité nommée "MonCube" :
== Interaction entre les feuilles de calcul et le modèle de CAO ==

Les données contenues dans les cellules d'une feuille de calcul peuvent être utilisées dans les expressions de paramètres de modèle de CAO. Ainsi, une feuille de calcul peut être utilisée comme source pour les valeurs de paramètres utilisées dans un modèle, regroupant efficacement les valeurs à un endroit. Lorsque les valeurs sont modifiées dans la feuille de calcul, elles sont propagées dans tout le modèle.

De même, les propriétés des objets de modèle CAO peuvent être utilisées dans les expressions des cellules de la feuille de calcul. Cela permet d'utiliser des propriétés d'objet telles que le volume ou la surface dans la feuille de calcul. Si le nom d'un objet dans le modèle CAO est modifié, le changement sera automatiquement propagé à toutes les références dans les expressions de feuille de calcul en utilisant le nom qui a été modifié.

Plusieurs feuilles de calcul peuvent être utilisées dans un document. Une feuille de calcul peut être identifiée à l'aide de son nom ou de son étiquette.

FreeCAD attribuera automatiquement un nom unique à une feuille de calcul lors de sa création. Ces noms suivent le modèle {{incode|Spreadsheet}}, {{incode|Spreadsheet001}}, {{incode|Spreadsheet002}} et ainsi de suite. Le nom ne peut pas être modifié et il n'est pas visible dans les propriétés de la feuille de calcul. Il peut être utilisé pour faire référence à la feuille de calcul dans une [[Expressions/fr|Expression]] (voir ci-dessous [[#Donn.C3.A9es_de_la_feuille_de_calcul_dans_les_expressions|Données de la feuille de calcul dans les expressions]].)

L'étiquette d'une feuille de calcul est automatiquement définie sur le nom de la feuille de calcul lors de sa création. Contrairement au nom, l'étiquette peut être modifiée, par exemple dans le panneau des propriétés ou à l'aide de l'action Renommer du menu contextuel. Par défaut, FreeCAD n'accepte pas les étiquettes en double, mais il existe une [[Preferences_Editor/fr#Document|préférence]] qui permet de passer outre. Les feuilles de calcul avec des étiquettes dupliquées dans le même document ne peuvent pas être référencées par leur étiquette.

FreeCAD vérifie les dépendances cycliques. Voir [[#Limites_actuelles|Limitations actuelles]].

<span id="References_to_CAD-data"></span>
=== Références aux données CAO ===

Comme indiqué ci-dessus, il est possible de référencer les données du modèle CAO dans des expressions de feuille de calcul.

Le tableau suivant montre quelques exemples en supposant que le modèle a une fonctionnalité nommée "MyCube" :
{|{{Prettytable}}
{|{{Prettytable}}
!Donnée CAO
!Donnée CAO
!Appel dans la feuille de calcul
!Cellule dans la feuille de calcul
!Résultat
!Résultat
|-
|-
|Longueur paramétrique d'un Cube dans l'Atelier Part
|Longueur paramétrique d'un cube dans l'atelier Part
|{{Incode|<nowiki>=MyCube.Length</nowiki>}}
|=MonCube.Longueur
|Longueur en mm
|Longueur en mm
|-
|-
|Volume du Cube
|Volume du cube
|=MonCube.Shape.Volume
|{{Incode|<nowiki>=MyCube.Shape.Volume</nowiki>}}
|Volume en mm&sup3; sans unité
|Volume en mm&sup3; sans unité
|-
|-
|Type de la forme du Cube
|Type de la forme du cube
|=MonCube.Shape.ShapeType
|{{Incode|<nowiki>=MyCube.Shape.ShapeType</nowiki>}}
|String: Solid
|Chaîne de caractère : Solid
|-
|-
|Nom du Cube
|Nom du cube
|=MonCube.Label
|{{Incode|<nowiki>=MyCube.Label</nowiki>}}
|Chaîne de caractère : MyCube
|String: MonCube
|-
|-
|Coordonnée x du centre de gravité du Cube
|Coordonnée x du centre de gravité du cube
|=MonCube.Shape.CenterOfMass.x
|{{Incode|<nowiki>=MyCube.Shape.CenterOfMass.x</nowiki>}}
|Coordonnée x en mm sans unité
|Coordonnée en mm sans unité
|}
|}


<span id="Spreadsheet_data_in_expressions"></span>
=== Données de la feuille de calcul dans les Expressions ===
=== Données de la feuille de calcul dans les expressions ===


L'utilisation des données de la feuille de calcul dans d'autres objets de FreeCAD nécessite un nom complètement défini. Parce qu'il est possible d'avoir plus d'une feuille de calcul dans un document, le nom de la feuille ainsi que celui de la cellule (coordonnées ou alias) sont obligatoires.
Pour utiliser les données de la feuille de calcul dans d'autres parties de FreeCAD, vous allez généralement créer une [[Expressions/fr|Expression]] qui fait référence à la feuille de calcul et à la cellule contenant les données que vous souhaitez utiliser. Vous pouvez identifier les feuilles de calcul par le nom ou par l'étiquette, et vous pouvez identifier les cellules par adresse ou par alias. L'autocomplétion est disponible pour toutes les formes de référencement.
L'image suivante illustre l'utilisation de l'alias "number" dans la feuille "MySheet" dans une expression dans l'atelier Part-Design.


{|{{Prettytable}}
[[File:Expression usage1.png]]
!
!Feuille de calcul par le nom
!Feuille de calcul par l'étiquette
|-
!Cellule par adresse
|{{incode|<nowiki>=Spreadsheet042.B5</nowiki>}}
|{{incode|<nowiki>=<<MySpreadsheet>>.B5</nowiki>}}
|-
!Cellule par l'alias
|{{incode|<nowiki>=Spreadsheet042.MyAlias</nowiki>}}
|{{incode|<nowiki>=<<MySpreadsheet>>.MyAlias</nowiki>}}
|}


<div class="mw-collapsible mw-collapsed">
Taper un "M" affiche une liste de noms disponibles (ci-dessus). Les touches fléchées permettent de descendre dans "MySheet" et de le sélectionner ; {{KEY|Enter}} entraînera son exécution dans l'expression. Vous pouvez également continuer à taper ou cliquer sur l'entrée avec la souris.
La méthode recommandée pour faire référence aux données d'une feuille de calcul est d'utiliser l'étiquette de la feuille de calcul et le nom de l'alias de la cellule. Pour une explication plus approfondie des avantages et des inconvénients des modes de référencement, consultez la section développée ci-dessous.
<div class="mw-collapsible-content">


L'utilisation de l'étiquette de la feuille de calcul présente l'avantage de pouvoir être librement modifiée pour décrire le contenu de la feuille de calcul. Il est également plus facile d'identifier la feuille de calcul utilisée car le texte de l'expression correspond à l'étiquette affichée dans les vues du modèle et des propriétés. Si vous décidez de modifier l'étiquette d'une feuille de calcul, les références existantes au contenu de la feuille de calcul seront mises à jour, de sorte que vous ne casserez pas vos expressions en renommant la feuille de calcul. Le nom interne de la feuille de calcul n'est pas facilement disponible ailleurs que dans l'éditeur d'expression, donc si vous utilisez le nom interne et décidez plus tard de renommer les feuilles de calcul, vous pourriez avoir du mal à retracer vos données d'expression jusqu'à leur source.
[[File:Expression usage2.png]]

Sachez que lorsque vous créez une nouvelle feuille de calcul, le nom et l'étiquette sont identiques, il est donc facile d'utiliser accidentellement le nom de la feuille de calcul au lieu de l'étiquette. Un moyen simple d'éviter cela est de donner à la feuille de calcul un nom significatif avant de commencer à l'utiliser dans des expressions.

Bien que vous puissiez utiliser le numéro de ligne et de colonne dans une expression pour référencer une cellule, la meilleure pratique consiste à donner à la cellule un nom d'alias et à l'utiliser. Voir [[#Propri.C3.A9t.C3.A9s_d.27une_cellule|Propriétés d'une cellule]] ci-dessus pour savoir comment définir l'alias. Par exemple, si les données de la cellule B1 contenaient le paramètre de longueur pour un objet, un nom d'alias de {{incode|MyObject_Length}} permettrait à la valeur d'être appelée {{incode|<<MyParams>>.MyObject_Length}} au lieu de {{incode|Spreadsheet.B1}}. En plus d'être beaucoup plus faciles à lire et à comprendre, les noms d'alias sont également beaucoup plus faciles à modifier si vous décidez d'ajuster la structure de votre feuille de calcul. L'utilisation d'un alias présente également l'avantage qu'il est plus facile de voir quelles cellules sont utilisées pour contrôler d'autres parties du document. Notez que FreeCAD ajustera automatiquement les références de position dans les expressions si vous insérez ou supprimez des lignes et des colonnes dans la feuille de calcul, donc même si vous utilisez des numéros de ligne et de colonne dans une expression, vous pouvez insérer des lignes et des colonnes sans casser les références aux cellules environnantes.

</div>
</div>


<span id="Complex_models_and_recomputes"></span>
Taper un "n" affiche maintenant la liste des noms d’alias disponibles dans MySheet commençant par "n" (ci-dessus). "number" peut maintenant être sélectionné comme décrit ci-dessus. Une fois qu'un nom valide avec un contenu utilisable est entré, le champ de résultat affiche la valeur calculée. dans ce cas, la longueur (ci-dessous).
=== Modèles complexes et recalculs ===


La modification d'une feuille de calcul déclenchera un recalcul du modèle 3D, même si les modifications n'affectent pas le modèle. Pour un modèle complexe, un recalcul peut prendre beaucoup de temps et devoir attendre après chaque édition est bien sûr assez ennuyeux.
[[File:Expression usage3.png]]


Il existe trois solutions pour y remédier :
Si vous tapez davantage, par exemple en ajoutant un signe "+", vous obtiendrez une expression qui ne sera plus valide, ce qui sera indiqué. Continuer à compléter l'expression peut à nouveau générer une expression valide.
# Ignorez temporairement les recalculs :
#* Dans la [[Tree_view/fr|vue en arborescence]], clic droit sur le document [[Image:Document.svg|24px]] qui contient la feuille de calcul.
#* Sélectionnez l'option {{MenuCommand|Ignorer les recalculs}} dans le menu contextuel.
#* Il y a un gros inconvénient à cette solution. Les nouvelles valeurs entrées dans la feuille de calcul ne seront pas affichées tant que le document n'aura pas été recalculé. Au lieu de cela, {{incode|#PENDING}} est affiché.
#* Vous pouvez soit recalculer manuellement, en utilisant la commande [[Std_Refresh/fr|Std Rafraîchir]], soit désactiver {{MenuCommand|Ignorer les recalculs}} lorsque vous avez terminé l'édition.
# Utilisez une macro pour ignorer automatiquement les recalculs lors de la modification d'une feuille de calcul :
#* Téléchargez et exécutez [https://forum.freecadweb.org/viewtopic.php?f=8&t=48600#p419301 skipSheet.FCMacro].
#* Cette solution économise quelques étapes par rapport à la première solution, mais présente également l'inconvénient mentionné.
# Mettez la feuille de calcul dans un [[File_Format_FCStd/fr|fichier séparé]] :
#* Vous pouvez référencer des données de feuille de calcul à partir d'un fichier externe {{FileName|.FCStd}} avec cette syntaxe: {{incode|<nowiki>=NameOfFile#<<MySpreadsheet>>.MyAlias</nowiki>}}.
#* L'avantage d'avoir la feuille de calcul dans un autre fichier par rapport à la désactivation des recalculs est que la feuille de calcul elle-même est recalculée.
#* L'inconvénient est que le modèle ne recalculera pas automatiquement après les modifications apportées à la feuille de calcul.
#* Dans le scénario où vous ouvrez d'abord le fichier "tableur", changez une ou plusieurs valeurs puis ouvrez le fichier "modèle", il n'y aura aucune indication que le modèle doit être recalculé. Mais si les deux fichiers sont ouverts, l'icône [[Std_Refresh/fr|Std Rafraîchir]] se mettra à jour correctement pour le fichier "modèle" après les modifications apportées au fichier "tableur".


<span id="Units"></span>
== Unités ==
== Unités ==


Line 144: Line 220:
Si une cellule contient une valeur qui représente une dimension, vous devez la saisir avec son unité associée. Bien que dans de nombreux cas simples, on puisse se débrouiller avec une valeur sans dimension, il est déconseillé de ne pas entrer l'unité. Si une valeur représentant une dimension est entrée sans son unité associée, certaines séquences d'opérations obligent FreeCAD à alerter sur les unités incompatibles dans une expression lorsqu'il apparaît que celle-ci doit être validée. (Cela peut être mieux compris en consultant ce [https://forum.freecadweb.org/viewtopic.php?f=3&t=34713&p=292455#p292438 sujet (en)] dans les forums FreeCAD.)
Si une cellule contient une valeur qui représente une dimension, vous devez la saisir avec son unité associée. Bien que dans de nombreux cas simples, on puisse se débrouiller avec une valeur sans dimension, il est déconseillé de ne pas entrer l'unité. Si une valeur représentant une dimension est entrée sans son unité associée, certaines séquences d'opérations obligent FreeCAD à alerter sur les unités incompatibles dans une expression lorsqu'il apparaît que celle-ci doit être validée. (Cela peut être mieux compris en consultant ce [https://forum.freecadweb.org/viewtopic.php?f=3&t=34713&p=292455#p292438 sujet (en)] dans les forums FreeCAD.)


Vous pouvez modifier les unités affichées pour une valeur de cellule à l'aide de l'onglet Unités de la boîte de dialogue Propriétés [[#units_tab|Unités]](ci-dessus). Cela ne change pas la valeur contenue dans la cellule; il ne convertit que la valeur existante pour l'affichage. La valeur utilisée pour les calculs ne change pas et les résultats des formules utilisant cette valeur ne changent pas. Par exemple, une cellule contenant la valeur "5.08cm" peut être affichée sous la forme "2in" en modifiant la valeur de l'onglet des unités en "in".
Vous pouvez modifier les unités affichées pour la valeur d'une cellule à l'aide de la [[#Propri.C3.A9t.C3.A9s_d.27une_cellule|boîte de dialogue Propriétés de la cellule]]. Cela ne modifie pas la valeur contenue dans la cellule; cela ne fait que convertir la valeur existante pour l'affichage. La valeur utilisée pour les calculs ne change pas, et les résultats des formules utilisant cette valeur ne changent pas. Par exemple, une cellule contenant la valeur "5.08cm" peut être affichée sous la forme "2in" en modifiant la valeur de l'onglet des unités en "in".


Un nombre sans dimension ne peut pas être changé en nombre avec une unité dans la boîte de dialogue des propriétés de la cellule. On peut mentionner une chaîne unité, et cette chaîne sera affichée ; mais la cellule contient toujours un nombre sans dimension. Afin de changer une valeur sans dimension en une valeur avec dimension, la valeur elle-même doit être entrée à nouveau avec son unité associée.
Un nombre sans dimension ne peut pas être changé en nombre avec une unité dans la boîte de dialogue des propriétés de la cellule. On peut mentionner une chaîne unité, et cette chaîne sera affichée ; mais la cellule contient toujours un nombre sans dimension. Afin de changer une valeur sans dimension en une valeur avec dimension, la valeur elle-même doit être entrée à nouveau avec son unité associée.
Line 150: Line 226:
Parfois, il peut être souhaitable de supprimer une dimension dans une expression. Cela peut être fait en multipliant par 1 avec une unité réciproque.
Parfois, il peut être souhaitable de supprimer une dimension dans une expression. Cela peut être fait en multipliant par 1 avec une unité réciproque.


<span id="Importing_and_exporting"></span>
== Importation et exportation ==
== Importation et exportation ==


<span id="CSV_format"></span>
Les feuilles de calculs peuvent être importées et exportées au format [https://en.wikipedia.org/wiki/Comma-separated_values ​​csv] qui peut également être lu et écrit par la plupart des tableurs tels que Microsoft Excel ou LibreOffice Calc. Lors de l'importation de fichiers dans FreeCAD, le délimiteur (le caractère utilisé pour séparer les colonnes) doit être le caractère TAB (ceci peut être défini lors de l'exportation à partir d'autres applications). L'importation d'un fichier CSV est disponible via le menu {{MenuCommand|Spreadsheet → Importer une feuille de calcul}} ou en cliquant sur l'icône [[Image:SpreadsheetImport.svg|24px]]. Cette fonction d'importation n'ouvre pas les fichiers Excel ou tout autre format de tableur.
=== Format CSV ===


Les feuilles de calcul FreeCAD peuvent être importées et exportées au format [https://fr.wikipedia.org/wiki/Comma-separated_values CSV] qui peut également être lu et écrit par la plupart des autres applications de feuilles de calcul telles que Microsoft Excel ou LibreOffice Calc. Voir [[Spreadsheet_Import/fr|Spreadsheet Importer]] et [[Spreadsheet_Export/fr|Spreadsheet Exporter]] pour plus d'informations.
Les feuilles de calculs au format Excel "xlsx" peuvent être importées via le menu {{MenuCommand|Fichier → Importer...}} dans un document FreeCAD. Les feuilles de calculs Excel peuvent également être ouvertes par FreeCAD en cliquant dans le menu {{MenuCommand|Fichier → Ouvrir...}} ou en cliquant sur l'icône [[Image:Document-open.svg|24px]]. Dans ce cas un nouveau document avec une feuille de calcul à l'intérieur est créé. Les fonctionnalités suivantes sont prises en charge :


<span id="XLSX_format"></span>
* toutes les fonctions qui sont également disponibles dans la feuille de calcul FreeCAD. D'autres fonctions donnent une erreur dans la cellule correspondante après l'importation.
=== Format XLSX ===
* Noms d'alias pour les cellules

Les feuilles de calcul au format Excel XLSX peuvent être importées avec la commande [[Std_Import/fr|Std Importer]] ou la commande [[Std_Open/fr|Std Ouvrir]]. Les fonctionnalités suivantes sont prises en charge :

* Toutes les fonctions qui sont également disponibles dans la feuille de calcul FreeCAD. D'autres fonctions donnent une erreur dans la cellule correspondante après l'importation.
* Noms d'alias pour les cellules.
* Plusieurs tableaux dans une feuille Excel. Dans ce cas, une feuille de calcul FreeCAD est créée pour chaque tableau Excel.
* Plusieurs tableaux dans une feuille Excel. Dans ce cas, une feuille de calcul FreeCAD est créée pour chaque tableau Excel.


Les autres fonctionnalités ne sont pas importées dans la feuille de calcul FreeCAD. L'importation Excel est possible à partir de la {{Version/fr|0.17}} de FreeCAD.
Les autres fonctionnalités ne sont pas importées dans la feuille de calcul FreeCAD.


<span id="Printing"></span>
== Limitations Courantes ==
== Imprimer ==


Pour gérer la mise en page nécessaire à l'impression, les feuilles de calcul FreeCAD sont imprimées en les insérant dans une [[TechDraw_SpreadsheetView/fr|TechDraw Vue d'un objet Spreadsheet]].
FreeCAD vérifie les dépendances cycliques. De par sa conception, cette vérification s’arrête au niveau de l’objet feuille de calcul. Par conséquent, vous ne devriez pas avoir de feuille de calcul contenant à la fois des cellules dont les valeurs sont utilisées pour spécifier des paramètres pour le modèle et des cellules dont les valeurs utilisent la sortie du modèle. Par exemple, vous ne pouvez pas avoir de cellules spécifiant la longueur, la largeur et la hauteur d'un objet, et une autre cellule qui référence le volume total de la forme obtenue. Cette restriction peut être surmontée en disposant de deux feuilles de calcul : l'une utilisée comme source de données pour les paramètres d'entrée du modèle et l'autre pour les calculs basés sur les données géométriques résultantes.


<span id="Current_limitations"></span>
Lorsque les cellules sont copiées, seul le contenu (expression/valeur) est copié. Les [[Spreadsheet_Workbench/fr#Propriétés de Cellule|propriétés de cellule]] décrites ci-dessus ne sont pas copiées.
== Limites actuelles ==


FreeCAD vérifie les dépendances cycliques lorsqu'il recalcule. De par sa conception, cette vérification s’arrête au niveau de l’objet feuille de calcul. Par conséquent, vous ne devriez pas avoir de feuille de calcul contenant à la fois des cellules dont les valeurs sont utilisées pour spécifier des paramètres pour le modèle et des cellules dont les valeurs utilisent la sortie du modèle. Par exemple, vous ne pouvez pas avoir de cellules spécifiant la longueur, la largeur et la hauteur d'un objet, et une autre cellule qui référence le volume total de la forme obtenue. Cette restriction peut être surmontée en disposant de deux feuilles de calcul : l'une utilisée comme source de données pour les paramètres d'entrée du modèle et l'autre pour les calculs basés sur les données géométriques résultantes.
Pour d'anciennes versions de FreeCAD voir [[Spreadsheet_legacy/fr|Spreadsheet legacy]].


<span id="Cell_binding"></span>
== Scripts Basiques==
== Liaison entre cellules ==

{{Version/fr|0.20}}

Il est possible de lier le contenu des cellules à d'autres cellules du tableur. Cela peut s'avérer utile pour traiter des tables volumineuses ou pour obtenir le contenu d'une cellule à partir d'une autre feuille de calcul.

<span id="Create_binding"></span>
=== Créer une liaison ===

Pour lier, par exemple, la plage de cellules A3-C4 à la plage de cellules B1-D2 :

<ol>
<li>
Sélectionnez la plage de cellules A3-C4.
</li>
<li>
Cliquez du bouton droit de la souris et sélectionnez {{MenuCommand|Lier...}} dans le menu contextuel.
</li>
<li>
Le dialogue {{MenuCommand|Lier des cellules de la feuille de calcul}} s'ouvre.
</li>
<li>
Définissez la plage B1-D2 pour les {{MenuCommand|Vers les cellules}} :
<br>
[[File:Spreadsheet_binding-dialog.png]]
</li>
<li>
Appuyez sur {{Button|OK}}.
</li>
<li>
Les cellules liées ont une bordure bleue pour mettre en évidence la liaison.
</li>
<li>
Si vous saisissez maintenant quelque chose dans la cellule C1, la même chose apparaîtra immédiatement dans la cellule B3.
</li>
</ol>

[[File:Spreadsheet_binding-result.png]]
{{Caption|La feuille de calcul peut maintenant ressembler à ceci}}

<span id="Change_binding"></span>
=== Modifier la liaison ===

# Cliquez du bouton droit de la souris sur une cellule liée (il n'est pas nécessaire de mettre en surbrillance l'ensemble de la plage liée) et sélectionnez {{MenuCommand|Lier...}} dans le menu contextuel.
# La boîte de dialogue {{MenuCommand|Lier des cellules de feuille de calcul}} s'ouvre.
# Modifiez une ou plusieurs options. Notez que la plage de cellules liée, {{MenuCommand|Lier les cellules}}, ne peut pas être modifiée.
# Appuyez sur {{Button|OK}}.

<span id="Remove_binding"></span>
=== Supprimer la liaison ===

# Clic droit de la souris sur une cellule liée (il n'est pas nécessaire de mettre en surbrillance l'ensemble de la plage liée) et sélectionnez {{MenuCommand|Lier...}} dans le menu contextuel.
# La boîte de dialogue {{MenuCommand|Lier des cellules de la feuille de calcul}} s'ouvre.
# Appuyez sur {{Button|Délier}}.

<span id="Notes"></span>
===Remarques===

* L'option {{MenuCommand|Masquer la dépendance de la liaison}} peut être utilisée pour éviter les problèmes de dépendances cycliques entre les feuilles de calcul. Il est nécessaire de la sélectionner lorsque, par exemple, des cellules de la ''Feuille de calcul A'' sont liées à la ''Feuille de calcul B'', tandis que des cellules de la ''Feuille de calcul B'' sont à leur tour liées à d'autres cellules de la ''Feuille de calcul A''. Cette option doit être utilisée avec prudence :
** Masquer les dépendances peut être dangereux car des dépendances cassées peuvent endommager votre fichier FreeCAD. Par exemple, lorsque vous supprimez une feuille de calcul, vous ne serez pas averti des dépendances cachées.
** Lorsque vous ouvrez un document avec une feuille de calcul contenant une dépendance cachée, vous obtiendrez la feuille de calcul marquée pour être recalculée. Cela est dû au fait qu'une dépendance cyclique ne peut pas être recalculée automatiquement. Pour recalculer, il faut utiliser l'outil [[Std_Refresh/fr|Std Rafraichir]].
* La liaison des cellules possède une vérification de l'étendue et vous avertit en cas d'étendue non concordante. Par exemple, lier des cellules 1x3 à des cellules 3x2 ne peut pas fonctionner car on ne sait pas quelles sont les 3 cellules à utiliser sur les 6 cellules d'origine.
* Vous ne pouvez pas modifier la plage de cellules d'une liaison existante. Vous devez d'abord délier les cellules, puis créer une nouvelle liaison.
* La couleur du cadre indiquant la liaison ne peut pas encore être modifiée.

<span id="Configuration_tables"></span>
== Tables de configuration ==

{{Version/fr|0.20}}

Vous pouvez utiliser des tableurs pour créer des tables de configuration avec des ensembles de paramètres prédéfinis pour votre modèle, puis modifier dynamiquement la configuration à utiliser. Consultez [https://forum.freecadweb.org/viewtopic.php?f=17&t=42183 ce message du forum] si vous souhaitez en savoir plus sur les rouages de cette fonctionnalité.

<div class="mw-collapsible mw-collapsed toccolours">

Développez cette section pour un bref tutoriel sur la création d'une table de configuration.

<div class="mw-collapsible-content">

<ol>
<li>
Dans un nouveau document, créez d'abord un [[Std_Part/fr|Std Part]], puis créez un [[Part_Box/fr|Part Cube]], un [[Part_Cylinder/fr|Part Cylindre]] et une feuille de calcul.
</li>
<li>
Le cube et le cylindre sont automatiquement placés dans le conteneur [[Std_Part/fr|Std Part]]. Placez manuellement la feuille de calcul dans le conteneur également.
</li>
<li>
Dans la feuille de calcul, entrez le contenu comme indiqué ci-dessous. Définissez l'alias de B2 à {{Value|width}}, C2 à {{Value|length}} et D2 à {{Value|radius}} :
<br>
[[File:Spreadsheet_configuration_table_screenshot_4.png]]
</li>
<li>
Liez les [[Expressions/fr|expressions]] {{Value|Spreadsheet.width}} et {{Value|Spreadsheet.length}} aux propriétés de la boîte {{PropertyData|Width}} et {{PropertyData|Length}}, respectivement :
<br>
[[File:Spreadsheet_configuration_table_screenshot_2.png]]
</li>
<li>
Liez l'expression {{Value|Spreadsheet.radius}} à la propriété {{PropertyData|Radius}} du cylindre. Changez également la propriété {{PropertyData|Height}} du cylindre en {{Value|5 mm}} pour qu'il soit plus bas que la boîte.
</li>
<li>
Clic droit sur la cellule A2 dans la feuille de calcul et sélectionner {{MenuCommand|Configuration de la table...}} dans le menu contextuel.
</li>
<li>
La boîte de dialogue {{MenuCommand|Paramétrer une table de configuration}} s'ouvre.
</li>
<li>
Saisissez les éléments suivants :
<br>
[[File:Spreadsheet_configuration_table_screenshot_5.png]]
</li>
<li>
Appuyez sur {{Button|OK}}.
</li>
<li>
Une nouvelle propriété appelée {{PropertyData|Configuration}} est ajoutée au conteneur [[Std_Part/fr|Std Part]] pour choisir la configuration comme indiqué ci-dessous :
<br>
[[File:Spreadsheet_configuration_table_screenshot_6.png]]
</li>
</ol>

Vous pouvez utiliser un [[Std_LinkMake/fr|Std Lien]] ou une [[PartDesign_SubShapeBinder/fr|PartDesign Sous forme liée]] pour instancier une [https://forum.freecadweb.org/viewtopic.php?f=17&t=42183&p=532130#p532130 instance variante] d'un objet configurable en suivant les étapes suivantes :

# Créez un [[Std_LinkMake/fr|Std Lien]] vers le conteneur [[Std_Part/fr|Std Part]] et attribuez à sa propriété {{PropertyData|Link Copy On Change}} la valeur {{Value|Enabled}}.
# Déplacez le lien vers un nouvel emplacement en modifiant {{PropertyData|Placement}} afin qu'il soit plus facile à distinguer de l'objet d'origine.
# Sélectionnez une {{PropertyData|Configuration}} différente pour le lien afin de créer une instance variante.

Des étapes similaires s'appliquent à une [[PartDesign_SubShapeBinder/fr|PartDesign Sous forme liée]], sauf que sa propriété permettant d'activer une instance de variante s'appelle {{PropertyData|Bind Copy On Change}}.

</div>
</div>

<span id="Scripting_basics"></span>
== Scripts basiques==


{{Code|code=
{{Code|code=
import Spreadsheet
import Spreadsheet
sheet = App.ActiveDocument.addObject("Spreadsheet::Sheet")
sheet = App.ActiveDocument.addObject("Spreadsheet::Sheet","MySpreadsheet")
sheet.Label = "Dimensions"
sheet.Label = "Dimensions"

sheet.set('A1','10mm')
sheet.recompute()
sheet.get('A1')

sheet.setAlias('B1','Diameter')
sheet.set('Diameter','20mm')
sheet.recompute()
sheet.get('Diameter')
}}
}}



{{Docnav/fr
{{Docnav/fr
|[[Sketcher Workbench/fr|Atelier Esquisse]]
|[[Sketcher_Workbench/fr|Atelier Sketcher]]
|[[Start Workbench/fr|Atelier Start]]
|[[Start_Workbench/fr|Atelier Start]]
|IconL=Workbench_Sketcher.svg
|IconL=Workbench_Sketcher.svg
|IconR=Workbench_Start.svg
|IconR=Workbench_Start.svg

Latest revision as of 13:15, 2 February 2024

Icône de l'atelier Spreadsheet

Introduction

L' atelier Spreadsheet vous permet de créer et de modifier des feuilles de calcul, d'utiliser les données de la feuille de calcul comme paramètres dans un modèle, de remplir la feuille de calcul avec des données extraites d'un modèle, d'effectuer des calculs et d'exporter les données vers d'autres applications de feuilles de calcul telles que LibreOffice ou Microsoft Excel.

Une feuille de tableur avec un certain nombre de cellules remplies de texte et de quantités

Outils

  • Importer : importer un fichier CSV dans une feuille de calcul.
  • Exporter : exporter un fichier CSV depuis une feuille de calcul.
  • Alignement au centre : aligner le contenu des cellules sélectionnées au centre, horizontalement.
  • Texte en gras : mettre en gras le contenu des cellules sélectionnées.
  • Texte souligné : permettre de souligner le contenu des cellules sélectionnées.
  • Alias : définir l'alias d'une cellule sélectionnée.
  • Noir et Blanc définissent les couleurs de premier plan et d'arrière-plan des cellules sélectionnées.

Préférences

Supprimer des cellules peut être dangereux

Remarquez que la suppression des cellules contenant des données peut casser la feuille de calcul et votre modèle s'il repose sur la feuille de calcul. Vous n'êtes pas prévenu si cela se produit.

Insérer et supprimer des lignes et des colonnes

Des lignes et des colonnes peuvent être insérées ou supprimées en faisant un clic droit sur un en-tête de ligne ou de colonne et en sélectionnant l'option appropriée dans le menu contextuel. Il est possible de sélectionner d'abord plusieurs lignes ou colonnes. Soit en maintenant la touche Ctrl enfoncée tout en sélectionnant les en-têtes, soit en maintenant le bouton gauche de la souris enfoncé et en faisant glisser la souris.

Éditer des cellules

Le contenu d'une cellule peut être modifié en sélectionnant la cellule et en entrant une valeur dans la boîte de saisie Contenu en haut de la fenêtre. Pour modifier une cellule sur place, sélectionnez-la et appuyez sur F2 ou double-cliquez dessus.

Supprimer des cellules

Pour supprimer une ou plusieurs cellules, sélectionnez-les et appuyez sur Suppr. Cela supprimera leur contenu, leurs propriétés et leurs alias. Pour supprimer uniquement le contenu d'une cellule, il convient de l'éditer.

Couper et copier-coller des cellules

Les opérations couper et copier-coller peuvent être utilisées sur les cellules des feuilles de calcul. Vous pouvez utiliser les raccourcis normaux pour ces opérations : Ctrl+X, Ctrl+C et Ctrl+V respectivement. Pour sélectionner plusieurs cellules, maintenez la touche Ctrl enfoncée tout en sélectionnant, ou maintenez le bouton gauche de la souris enfoncé et faites glisser pour sélectionner une plage de cellules rectangulaires.

Les opérations couper et copier enregistrent le contenu, les propriétés et les alias des cellules dans le presse-papiers. L'opération de collage écrit les données de manière à ce que le contenu de la cellule supérieure gauche des données stockées soit déposé dans la cellule active. Les autres contenus stockés sont placés par rapport à cette cellule. Les formules sont mises à jour en conséquence. Les alias ne sont collés que s'ils sont uniques.

Propriétés d'une cellule

Les propriétés d'une cellule de feuille de calcul peuvent être modifiées en cliquant droit sur la cellule et en sélectionnant Propriétés... dans le menu contextuel. La boîte de dialogue suivante s'affiche :

Comme mentionné dans les onglets, les propriétés suivantes peuvent être changées :

  • Couleur : couleur du texte et couleur d'arrière-plan
  • Alignement : alignement horizontal et vertical du texte
  • Style : style du texte : gras, italique, souligné
  • Affichage unités : affiche l'unité de la cellule. Veuillez lire la section Unités ci-dessous.
  • Alias : définit un alias pour cette cellule. Cet alias peut être utilisé dans les formules de cellule et aussi dans les expressions générales; voir la section Données de la feuille de calcul dans les expressions pour plus d'informations.

Expressions dans les cellules

Une cellule de feuille de calcul peut contenir un nombre, un texte ou une expression. Les expressions doivent commencer par le signe égal "=".

Les expressions de cellules peuvent contenir des nombres, des fonctions, des références à d'autres cellules et des références à des propriétés du modèle (voir Limitations actuelles ci-dessous). Une cellule peut être référencée par son adresse (lettre majuscule de la colonne + numéro de ligne, par exemple B4) ou par son alias.

Remarque : les expressions de cellules sont traitées par FreeCAD comme du code de programmation. Par conséquent, lorsque vous modifiez une cellule, le contenu que vous voyez peut ne pas suivre vos paramètres d'affichage :

  • Le séparateur décimal est toujours un point. Mais les virgules peuvent également être utilisées lors de la saisie des valeurs.
  • Le nombre de décimales affichées peut différer de vos paramètres de préférences.

Les références aux objets dans le modèle sont expliquées ci-dessous Références aux données CAO. L'utilisation des valeurs de cellule de feuille de calcul pour définir les propriétés du modèle est expliquée ci-dessous Données de la feuille de calcul dans les expressions. Pour plus d'informations sur les expressions et les fonctions disponibles, voir Expressions.

Interaction entre les feuilles de calcul et le modèle de CAO

Les données contenues dans les cellules d'une feuille de calcul peuvent être utilisées dans les expressions de paramètres de modèle de CAO. Ainsi, une feuille de calcul peut être utilisée comme source pour les valeurs de paramètres utilisées dans un modèle, regroupant efficacement les valeurs à un endroit. Lorsque les valeurs sont modifiées dans la feuille de calcul, elles sont propagées dans tout le modèle.

De même, les propriétés des objets de modèle CAO peuvent être utilisées dans les expressions des cellules de la feuille de calcul. Cela permet d'utiliser des propriétés d'objet telles que le volume ou la surface dans la feuille de calcul. Si le nom d'un objet dans le modèle CAO est modifié, le changement sera automatiquement propagé à toutes les références dans les expressions de feuille de calcul en utilisant le nom qui a été modifié.

Plusieurs feuilles de calcul peuvent être utilisées dans un document. Une feuille de calcul peut être identifiée à l'aide de son nom ou de son étiquette.

FreeCAD attribuera automatiquement un nom unique à une feuille de calcul lors de sa création. Ces noms suivent le modèle Spreadsheet, Spreadsheet001, Spreadsheet002 et ainsi de suite. Le nom ne peut pas être modifié et il n'est pas visible dans les propriétés de la feuille de calcul. Il peut être utilisé pour faire référence à la feuille de calcul dans une Expression (voir ci-dessous Données de la feuille de calcul dans les expressions.)

L'étiquette d'une feuille de calcul est automatiquement définie sur le nom de la feuille de calcul lors de sa création. Contrairement au nom, l'étiquette peut être modifiée, par exemple dans le panneau des propriétés ou à l'aide de l'action Renommer du menu contextuel. Par défaut, FreeCAD n'accepte pas les étiquettes en double, mais il existe une préférence qui permet de passer outre. Les feuilles de calcul avec des étiquettes dupliquées dans le même document ne peuvent pas être référencées par leur étiquette.

FreeCAD vérifie les dépendances cycliques. Voir Limitations actuelles.

Références aux données CAO

Comme indiqué ci-dessus, il est possible de référencer les données du modèle CAO dans des expressions de feuille de calcul.

Le tableau suivant montre quelques exemples en supposant que le modèle a une fonctionnalité nommée "MyCube" :

Donnée CAO Cellule dans la feuille de calcul Résultat
Longueur paramétrique d'un cube dans l'atelier Part =MyCube.Length Longueur en mm
Volume du cube =MyCube.Shape.Volume Volume en mm³ sans unité
Type de la forme du cube =MyCube.Shape.ShapeType Chaîne de caractère : Solid
Nom du cube =MyCube.Label Chaîne de caractère : MyCube
Coordonnée x du centre de gravité du cube =MyCube.Shape.CenterOfMass.x Coordonnée en mm sans unité

Données de la feuille de calcul dans les expressions

Pour utiliser les données de la feuille de calcul dans d'autres parties de FreeCAD, vous allez généralement créer une Expression qui fait référence à la feuille de calcul et à la cellule contenant les données que vous souhaitez utiliser. Vous pouvez identifier les feuilles de calcul par le nom ou par l'étiquette, et vous pouvez identifier les cellules par adresse ou par alias. L'autocomplétion est disponible pour toutes les formes de référencement.

Feuille de calcul par le nom Feuille de calcul par l'étiquette
Cellule par adresse =Spreadsheet042.B5 =<<MySpreadsheet>>.B5
Cellule par l'alias =Spreadsheet042.MyAlias =<<MySpreadsheet>>.MyAlias

La méthode recommandée pour faire référence aux données d'une feuille de calcul est d'utiliser l'étiquette de la feuille de calcul et le nom de l'alias de la cellule. Pour une explication plus approfondie des avantages et des inconvénients des modes de référencement, consultez la section développée ci-dessous.

L'utilisation de l'étiquette de la feuille de calcul présente l'avantage de pouvoir être librement modifiée pour décrire le contenu de la feuille de calcul. Il est également plus facile d'identifier la feuille de calcul utilisée car le texte de l'expression correspond à l'étiquette affichée dans les vues du modèle et des propriétés. Si vous décidez de modifier l'étiquette d'une feuille de calcul, les références existantes au contenu de la feuille de calcul seront mises à jour, de sorte que vous ne casserez pas vos expressions en renommant la feuille de calcul. Le nom interne de la feuille de calcul n'est pas facilement disponible ailleurs que dans l'éditeur d'expression, donc si vous utilisez le nom interne et décidez plus tard de renommer les feuilles de calcul, vous pourriez avoir du mal à retracer vos données d'expression jusqu'à leur source.

Sachez que lorsque vous créez une nouvelle feuille de calcul, le nom et l'étiquette sont identiques, il est donc facile d'utiliser accidentellement le nom de la feuille de calcul au lieu de l'étiquette. Un moyen simple d'éviter cela est de donner à la feuille de calcul un nom significatif avant de commencer à l'utiliser dans des expressions.

Bien que vous puissiez utiliser le numéro de ligne et de colonne dans une expression pour référencer une cellule, la meilleure pratique consiste à donner à la cellule un nom d'alias et à l'utiliser. Voir Propriétés d'une cellule ci-dessus pour savoir comment définir l'alias. Par exemple, si les données de la cellule B1 contenaient le paramètre de longueur pour un objet, un nom d'alias de MyObject_Length permettrait à la valeur d'être appelée <<MyParams>>.MyObject_Length au lieu de Spreadsheet.B1. En plus d'être beaucoup plus faciles à lire et à comprendre, les noms d'alias sont également beaucoup plus faciles à modifier si vous décidez d'ajuster la structure de votre feuille de calcul. L'utilisation d'un alias présente également l'avantage qu'il est plus facile de voir quelles cellules sont utilisées pour contrôler d'autres parties du document. Notez que FreeCAD ajustera automatiquement les références de position dans les expressions si vous insérez ou supprimez des lignes et des colonnes dans la feuille de calcul, donc même si vous utilisez des numéros de ligne et de colonne dans une expression, vous pouvez insérer des lignes et des colonnes sans casser les références aux cellules environnantes.

Modèles complexes et recalculs

La modification d'une feuille de calcul déclenchera un recalcul du modèle 3D, même si les modifications n'affectent pas le modèle. Pour un modèle complexe, un recalcul peut prendre beaucoup de temps et devoir attendre après chaque édition est bien sûr assez ennuyeux.

Il existe trois solutions pour y remédier :

  1. Ignorez temporairement les recalculs :
    • Dans la vue en arborescence, clic droit sur le document qui contient la feuille de calcul.
    • Sélectionnez l'option Ignorer les recalculs dans le menu contextuel.
    • Il y a un gros inconvénient à cette solution. Les nouvelles valeurs entrées dans la feuille de calcul ne seront pas affichées tant que le document n'aura pas été recalculé. Au lieu de cela, #PENDING est affiché.
    • Vous pouvez soit recalculer manuellement, en utilisant la commande Std Rafraîchir, soit désactiver Ignorer les recalculs lorsque vous avez terminé l'édition.
  2. Utilisez une macro pour ignorer automatiquement les recalculs lors de la modification d'une feuille de calcul :
    • Téléchargez et exécutez skipSheet.FCMacro.
    • Cette solution économise quelques étapes par rapport à la première solution, mais présente également l'inconvénient mentionné.
  3. Mettez la feuille de calcul dans un fichier séparé :
    • Vous pouvez référencer des données de feuille de calcul à partir d'un fichier externe .FCStd avec cette syntaxe: =NameOfFile#<<MySpreadsheet>>.MyAlias.
    • L'avantage d'avoir la feuille de calcul dans un autre fichier par rapport à la désactivation des recalculs est que la feuille de calcul elle-même est recalculée.
    • L'inconvénient est que le modèle ne recalculera pas automatiquement après les modifications apportées à la feuille de calcul.
    • Dans le scénario où vous ouvrez d'abord le fichier "tableur", changez une ou plusieurs valeurs puis ouvrez le fichier "modèle", il n'y aura aucune indication que le modèle doit être recalculé. Mais si les deux fichiers sont ouverts, l'icône Std Rafraîchir se mettra à jour correctement pour le fichier "modèle" après les modifications apportées au fichier "tableur".

Unités

Le tableur intègre une notion de dimension (unités) associée aux valeurs de cellule. Un numéro entré sans unité associée n'a pas de dimension. L'unité doit être entrée immédiatement après la valeur numérique, sans espace intermédiaire. Si un nombre a une unité associée, cette unité sera utilisée dans tous les calculs. Par exemple, la multiplication de deux longueurs avec l'unité mm donne une surface avec l'unité mm².

Si une cellule contient une valeur qui représente une dimension, vous devez la saisir avec son unité associée. Bien que dans de nombreux cas simples, on puisse se débrouiller avec une valeur sans dimension, il est déconseillé de ne pas entrer l'unité. Si une valeur représentant une dimension est entrée sans son unité associée, certaines séquences d'opérations obligent FreeCAD à alerter sur les unités incompatibles dans une expression lorsqu'il apparaît que celle-ci doit être validée. (Cela peut être mieux compris en consultant ce sujet (en) dans les forums FreeCAD.)

Vous pouvez modifier les unités affichées pour la valeur d'une cellule à l'aide de la boîte de dialogue Propriétés de la cellule. Cela ne modifie pas la valeur contenue dans la cellule; cela ne fait que convertir la valeur existante pour l'affichage. La valeur utilisée pour les calculs ne change pas, et les résultats des formules utilisant cette valeur ne changent pas. Par exemple, une cellule contenant la valeur "5.08cm" peut être affichée sous la forme "2in" en modifiant la valeur de l'onglet des unités en "in".

Un nombre sans dimension ne peut pas être changé en nombre avec une unité dans la boîte de dialogue des propriétés de la cellule. On peut mentionner une chaîne unité, et cette chaîne sera affichée ; mais la cellule contient toujours un nombre sans dimension. Afin de changer une valeur sans dimension en une valeur avec dimension, la valeur elle-même doit être entrée à nouveau avec son unité associée.

Parfois, il peut être souhaitable de supprimer une dimension dans une expression. Cela peut être fait en multipliant par 1 avec une unité réciproque.

Importation et exportation

Format CSV

Les feuilles de calcul FreeCAD peuvent être importées et exportées au format CSV qui peut également être lu et écrit par la plupart des autres applications de feuilles de calcul telles que Microsoft Excel ou LibreOffice Calc. Voir Spreadsheet Importer et Spreadsheet Exporter pour plus d'informations.

Format XLSX

Les feuilles de calcul au format Excel XLSX peuvent être importées avec la commande Std Importer ou la commande Std Ouvrir. Les fonctionnalités suivantes sont prises en charge :

  • Toutes les fonctions qui sont également disponibles dans la feuille de calcul FreeCAD. D'autres fonctions donnent une erreur dans la cellule correspondante après l'importation.
  • Noms d'alias pour les cellules.
  • Plusieurs tableaux dans une feuille Excel. Dans ce cas, une feuille de calcul FreeCAD est créée pour chaque tableau Excel.

Les autres fonctionnalités ne sont pas importées dans la feuille de calcul FreeCAD.

Imprimer

Pour gérer la mise en page nécessaire à l'impression, les feuilles de calcul FreeCAD sont imprimées en les insérant dans une TechDraw Vue d'un objet Spreadsheet.

Limites actuelles

FreeCAD vérifie les dépendances cycliques lorsqu'il recalcule. De par sa conception, cette vérification s’arrête au niveau de l’objet feuille de calcul. Par conséquent, vous ne devriez pas avoir de feuille de calcul contenant à la fois des cellules dont les valeurs sont utilisées pour spécifier des paramètres pour le modèle et des cellules dont les valeurs utilisent la sortie du modèle. Par exemple, vous ne pouvez pas avoir de cellules spécifiant la longueur, la largeur et la hauteur d'un objet, et une autre cellule qui référence le volume total de la forme obtenue. Cette restriction peut être surmontée en disposant de deux feuilles de calcul : l'une utilisée comme source de données pour les paramètres d'entrée du modèle et l'autre pour les calculs basés sur les données géométriques résultantes.

Liaison entre cellules

introduit dans la version 0.20

Il est possible de lier le contenu des cellules à d'autres cellules du tableur. Cela peut s'avérer utile pour traiter des tables volumineuses ou pour obtenir le contenu d'une cellule à partir d'une autre feuille de calcul.

Créer une liaison

Pour lier, par exemple, la plage de cellules A3-C4 à la plage de cellules B1-D2 :

  1. Sélectionnez la plage de cellules A3-C4.
  2. Cliquez du bouton droit de la souris et sélectionnez Lier... dans le menu contextuel.
  3. Le dialogue Lier des cellules de la feuille de calcul s'ouvre.
  4. Définissez la plage B1-D2 pour les Vers les cellules :
  5. Appuyez sur OK.
  6. Les cellules liées ont une bordure bleue pour mettre en évidence la liaison.
  7. Si vous saisissez maintenant quelque chose dans la cellule C1, la même chose apparaîtra immédiatement dans la cellule B3.

La feuille de calcul peut maintenant ressembler à ceci

Modifier la liaison

  1. Cliquez du bouton droit de la souris sur une cellule liée (il n'est pas nécessaire de mettre en surbrillance l'ensemble de la plage liée) et sélectionnez Lier... dans le menu contextuel.
  2. La boîte de dialogue Lier des cellules de feuille de calcul s'ouvre.
  3. Modifiez une ou plusieurs options. Notez que la plage de cellules liée, Lier les cellules, ne peut pas être modifiée.
  4. Appuyez sur OK.

Supprimer la liaison

  1. Clic droit de la souris sur une cellule liée (il n'est pas nécessaire de mettre en surbrillance l'ensemble de la plage liée) et sélectionnez Lier... dans le menu contextuel.
  2. La boîte de dialogue Lier des cellules de la feuille de calcul s'ouvre.
  3. Appuyez sur Délier.

Remarques

  • L'option Masquer la dépendance de la liaison peut être utilisée pour éviter les problèmes de dépendances cycliques entre les feuilles de calcul. Il est nécessaire de la sélectionner lorsque, par exemple, des cellules de la Feuille de calcul A sont liées à la Feuille de calcul B, tandis que des cellules de la Feuille de calcul B sont à leur tour liées à d'autres cellules de la Feuille de calcul A. Cette option doit être utilisée avec prudence :
    • Masquer les dépendances peut être dangereux car des dépendances cassées peuvent endommager votre fichier FreeCAD. Par exemple, lorsque vous supprimez une feuille de calcul, vous ne serez pas averti des dépendances cachées.
    • Lorsque vous ouvrez un document avec une feuille de calcul contenant une dépendance cachée, vous obtiendrez la feuille de calcul marquée pour être recalculée. Cela est dû au fait qu'une dépendance cyclique ne peut pas être recalculée automatiquement. Pour recalculer, il faut utiliser l'outil Std Rafraichir.
  • La liaison des cellules possède une vérification de l'étendue et vous avertit en cas d'étendue non concordante. Par exemple, lier des cellules 1x3 à des cellules 3x2 ne peut pas fonctionner car on ne sait pas quelles sont les 3 cellules à utiliser sur les 6 cellules d'origine.
  • Vous ne pouvez pas modifier la plage de cellules d'une liaison existante. Vous devez d'abord délier les cellules, puis créer une nouvelle liaison.
  • La couleur du cadre indiquant la liaison ne peut pas encore être modifiée.

Tables de configuration

introduit dans la version 0.20

Vous pouvez utiliser des tableurs pour créer des tables de configuration avec des ensembles de paramètres prédéfinis pour votre modèle, puis modifier dynamiquement la configuration à utiliser. Consultez ce message du forum si vous souhaitez en savoir plus sur les rouages de cette fonctionnalité.

Développez cette section pour un bref tutoriel sur la création d'une table de configuration.

  1. Dans un nouveau document, créez d'abord un Std Part, puis créez un Part Cube, un Part Cylindre et une feuille de calcul.
  2. Le cube et le cylindre sont automatiquement placés dans le conteneur Std Part. Placez manuellement la feuille de calcul dans le conteneur également.
  3. Dans la feuille de calcul, entrez le contenu comme indiqué ci-dessous. Définissez l'alias de B2 à width, C2 à length et D2 à radius :
  4. Liez les expressions Spreadsheet.width et Spreadsheet.length aux propriétés de la boîte DonnéesWidth et DonnéesLength, respectivement :
  5. Liez l'expression Spreadsheet.radius à la propriété DonnéesRadius du cylindre. Changez également la propriété DonnéesHeight du cylindre en 5 mm pour qu'il soit plus bas que la boîte.
  6. Clic droit sur la cellule A2 dans la feuille de calcul et sélectionner Configuration de la table... dans le menu contextuel.
  7. La boîte de dialogue Paramétrer une table de configuration s'ouvre.
  8. Saisissez les éléments suivants :
  9. Appuyez sur OK.
  10. Une nouvelle propriété appelée DonnéesConfiguration est ajoutée au conteneur Std Part pour choisir la configuration comme indiqué ci-dessous :

Vous pouvez utiliser un Std Lien ou une PartDesign Sous forme liée pour instancier une instance variante d'un objet configurable en suivant les étapes suivantes :

  1. Créez un Std Lien vers le conteneur Std Part et attribuez à sa propriété DonnéesLink Copy On Change la valeur Enabled.
  2. Déplacez le lien vers un nouvel emplacement en modifiant DonnéesPlacement afin qu'il soit plus facile à distinguer de l'objet d'origine.
  3. Sélectionnez une DonnéesConfiguration différente pour le lien afin de créer une instance variante.

Des étapes similaires s'appliquent à une PartDesign Sous forme liée, sauf que sa propriété permettant d'activer une instance de variante s'appelle DonnéesBind Copy On Change.

Scripts basiques

import Spreadsheet
sheet = App.ActiveDocument.addObject("Spreadsheet::Sheet","MySpreadsheet")
sheet.Label = "Dimensions"

sheet.set('A1','10mm')
sheet.recompute()
sheet.get('A1')

sheet.setAlias('B1','Diameter')
sheet.set('Diameter','20mm')
sheet.recompute()
sheet.get('Diameter')