Aller au contenu
  • 0
Occi

Calcul ne se rapportant qu'a certaine partie de rubrique

Question

Bonjour à tous

Nouveau utilisateur de Filemaker je cherche à créer sur ce logiciel un catalogue de produit que je possède en version Excel.

Je me trouve vers vous car je n’arrive pas à résoudre certains problèmes.

En effet j’ai réussi à transformer mes rubriques en calcul me permettant de résoudre certains problèmes toutefois j’ai des rubriques comportant des calculs un peu particuliers que je ne parviens pas à réaliser sous filemaker.

Pour commencer ma première question est dans le cas d’une fonction « cas » est-il possible de lui dire que le résultat par défaut est la donnée saisie dans la zone de saisie liée à la rubrique s’il n’y a pas de calcul à faire ?

En ce qui concerne mais calculs particuliers j’ai le tableur suivant sous excel :

image.png.38449048def42399bf2ca6fc45b230fe.png

Que j’ai donc transformé sur filemaker ainsi :

image.thumb.png.0dc0b691b1cb956132b479f9a8365527.png

J’ai malheureusement 4 cellules qui ne fonctionne pas à savoir sur le tableur excel les cellules : D9, D11, D13 et E13.

J'ai été obligé de créer des copies de rubriques pour m'éviter de retaper l'ensemble des information à chaque fois, sachant que la version que vous avez est évidemment une version lite 😀.

Elles comportent les calculs respectifs suivant :

-          D9 = F14 *0,67 / 100

-          D11 = - (B2*C2+B3*C3) * B11/100

-          D13 = - ((B2*C2+B3*C3) * 62/100) - ((B5*C5+B6*C6+B7*C7) * 20/100)

-          E13 = - ((B2+B3+B5+B6+B7) * 300)

J’ai donc pensé résoudre mon souci avec une fonction « cas » ce qui m’a donné ceci pour :

Le Prix Unitaire de Vente :

 Cas ( Systeme = "Contrat de maintenance sur la durée du contrat"

        ; Somme ( TotalPrixAchat ) * ,67/100

 

     ; Systeme = "Taux réduction sur les basiques"

        ; -(

          Si ( Systeme = "Basique" ; Quantite ) * Si ( Systeme = "Basique" ; PuAchat )

          + Si ( Systeme = "Basique1" ; Quantite ) * Si ( Systeme = "Basique1" ; PuAchat )

            ) * Si ( Systeme = "Taux réduction sur les basiques"; Quantite )  / 100

 

     ; Systeme = "Contrat  > 50"

        ; -( (

          Si ( Systeme = "Basique" ; Quantite ) * Si ( Systeme = "Basique" ; PuAchat )

          + Si ( Systeme = "Basique1" ; Quantite ) * Si ( Systeme = "Basique1" ; PuAchat )

            ) * 62 / 100 )

            - ( (

              Si ( Systeme = "Evolué 1" ; Quantite ) * Si ( Systeme = "Evolué 1" ; PuAchat )

            + Si ( Systeme = "Evolué 2" ; Quantite ) * Si ( Systeme = "Evolué 2" ; PuAchat )

            + Si ( Systeme = "Evolué 3" ; Quantite ) * Si ( Systeme = "Evolué 3" ; PuAchat )

            ) * 20 / 100 )

 

     ;

)

La Main D’œuvre Client

Cas ( Systeme = "Contrat de maintenance sur la durée du contrat" ; ""

    ; Systeme = "Taux réduction sur les basiques" ; ""

    ; Si ( Systeme = "Contrat  > 50" ;

          -((

          Si ( Systeme = "Basique"; Quantite )

        + Si ( Systeme = "Basique1"; Quantite )

        + Si ( Systeme = "moyen"; Quantite )

        + Si ( Systeme = "Evolué 1"; Quantite )

        + Si ( Systeme = "Evolué 2"; Quantite )

        + Si ( Systeme = "Evolué 3"; Quantite )

           )*300)

          )

)

 

Quelqu’un aurait-il une solution pour moi ?

Merci d’avance

image.png.38449048def42399bf2ca6fc45b230fe.png

image.thumb.png.0dc0b691b1cb956132b479f9a8365527.png

image.png.38449048def42399bf2ca6fc45b230fe.png

image.thumb.png.0dc0b691b1cb956132b479f9a8365527.png

image.png.38449048def42399bf2ca6fc45b230fe.png

image.thumb.png.0dc0b691b1cb956132b479f9a8365527.png

image.png.38449048def42399bf2ca6fc45b230fe.png

image.thumb.png.0dc0b691b1cb956132b479f9a8365527.png

image.png.38449048def42399bf2ca6fc45b230fe.png

image.thumb.png.0dc0b691b1cb956132b479f9a8365527.png

Partager ce message


Lien à poster
Partager sur d’autres sites

21 réponses à cette question

Messages recommandés

  • 0

Bonjour à tous,

Je me rend compte que je ne vous avez pas mis les modèles des documents dont je parle.

Voilà qui est fait. Si jamais quelqu'un a une idée et veut tester je suis preneur.

Merci d'avance.

test2.xlsx

test2.fmp12

test2.xlsx

test2.fmp12

test2.xlsx

test2.fmp12

test2.xlsx

test2.fmp12

test2.xlsx

test2.fmp12

test2.xlsx

test2.fmp12

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour Occi

FM est pas un excel , La ou excel peu avoir plusieurs type de cellules différant dans une même colonne . FM a que un seul type par colonne .

CAD Ta colonne D par ex. "Prix unitaire vente" dans FM il peu y avoir que des "PU vente" ... La ou excel peut avoir un" taux de réduction " en D11 sous cette colonne par ex. .

Dans FM tu doit créé des nouvelle colonne  , I J K L  ... et positionner "taux de réduction" ,  "reduction " et "contrat" dans celle ci. Et la tu peu fair tes calcule ...

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour,
Dit autrement, vous devez séparer les données et les calculs portant sur certaines de ces données. Vos rubriques calculs, placées dans la même table ou une table dédiée accèdent aux données par un lien, une requête SQL ou une rubrique statistique.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour Apophis000 et Christophe,

 

Tout d'abord merci de vous être intéressé à mon problème.

Si je comprend bien j'ai déjà la réponse concernant la fonction cas, il ne peux pas y avoir de résultat par défaut qui soit une donnée que l'on rentre dans la rubrique d'accord.

Je vais donc retenté de créer X rubrique par NB de calcul et je reviens vers vous.

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

En faite je suis désolé mais je ne comprend pas.

J'ai bien des rubriques différentes pour les données et pour les calculs. Mais mon problème est que je veux que certain calcul se fasse sur certaine partie de rubrique.

Le bute infine est d'avoir quelque chose de simple et propre. En effet, ceci va être utilisé par mes commerciaux, que j'aime beaucoup cela va de soit, mais qui sont comment dire très "créatif". Il faut donc que non seulement ça se rapproche le plus possible de ce qu'ils utilisaient avant mais également pouvoir les bloquer sur certaine chose sinon ça va vite devenir ingérable.

Je vous remet donc mon fichier test si quelqu'un veut bien bidouiller car j'avoue ne pas comprendre ce que je dois faire.

Merci d'avance.

test2.fmp12

test2.fmp12

test2.fmp12

test2.fmp12

test2.fmp12

test2.fmp12

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Ou alors c'est juste pas possible de les faire ?

Je dois avouer que après nager un moment dans ce grand flou artistique, maintenant je coule.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bouger pas, je viens avec des bouées :)

Mais pas aujourd’hui car pas le temps , je vous fait un exemple demain matin , ou j'ai un peu de temps.

 

Pour essayer d’être plus claire , Dans FM les table sont simple . Une colonne PV par ex. ne peu avoir que des PV . Si il faut des réduction sur ces pv , il faut une autre colonne avec les réduction ... 

Donc dans votre table excel , pour moi , tout ce qui est en dessous de la ligne 8 doit être redisposer dans de nouvelles colonnes ... car ils ont pas les même donner que les ligne 2 a 7

Ca c'est pour les table , maintenant , si ont veux par la suite , avec les formulaire , ont peu fair un visuelle + - identique a votre table excel ...

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour Apophis000,

Merci pour les bouées car le titanic est lourd.

Si j'ai bien compris il me faut une rubrique pour la saisie + une rubrique par type de calcul.

Je l'ai essayer pour le PU Vente du Contrat de Maintenance est ça me donne des résultat certe mais qui sont complément aux fraises.

Après la noyade, la salade de fruit, un peu de paix dans se monde de brute.

Dans tout les cas merci pour ton aide et bonne journée a toi.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Evidemment que FMP n'est pas Excel ! Sinon, il ne servirait à rien... La logique est fondamentalement différente : on ne travaille pas sur des chiffres surune page mais sur des données. Certes, c'est moins instinctif mais on peut aller plus loin. 

Je t'ai fait un exemple sommaire en décomposant en tables et liens. A toi de voir si cela correspond à ton besoin et si tu peux aller plus loin. 

TEST FACTURE.fmp12

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour Philippe ROTTIER,

Merci beaucoup de ton aide, Je décortique ça et je reviens vers toi.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Re Bonjour Philippe ROTTIER,

 

J'ai regardé ton fichier. Je comprend pas tout, tout mais ça fonctionne pour la partie du Haut pas de soucis.
J'ai compris pour le Contrat de maintenance pas de soucis.

Toutefois demeure comme problème toute la partie Offre Commerciale où là ?????

Je mis casse la tête mais je n'arrive pas à faire mes calculs.

Une idée quelqu'un ? Je vous remet ma version du fichier un peu aménager.

A titre d'Exemple j'ai essayer mon calcul pour le "Taux réduction sur les basiques"

Pour moi ça donne ça :

-(( Si ( Lignes::Systeme= "Basique"; Lignes::PuAchat )*Si ( Lignes::Systeme= "Basique"; Lignes::Quantite ) + Si ( Lignes::Systeme= "Basique1"; Lignes::PuAchat )*Si ( Lignes::Systeme= "Basique1"; Lignes::Quantite )) * TauxReducBasique /100) = -0,3 (résultat erroné mais résultat la ou avant il ne m'affiché rien donc du mieux, le bon résultat devrait être -0,60)

Ce qui ce passe c'est que :

-  Si ( Lignes::Systeme= "Basique"; Lignes::PuAchat ) = 30   OK (j'ai vérifié en le changeant il monte le bon)

-  Si ( Lignes::Systeme= "Basique"; Lignes::Quantite ) = 1   OK (j'ai vérifié en le changeant il monte le bon)

- La multiplication des deux fonctionne

Si ( Lignes::Systeme= "Basique1"; Lignes::PuAchat ) = Néant, rien que dalle, wallou

-Si ( Lignes::Systeme= "Basique1"; Lignes::Quantite ) = Néant, rien que dalle, wallou

- TauxReducBasique c'est OK

 

Forcément si il me manque 2 données sur 5 ça peux pas marché.

 

Merci d'avance.

TEST FACTURE.fmp12

TEST FACTURE.fmp12

TEST FACTURE.fmp12

TEST FACTURE.fmp12

TEST FACTURE.fmp12

TEST FACTURE.fmp12

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Voilà, avec une occurence de table et un calcul simple on peut parvenir au résultat. c'est pourquoi j'ai mis une rubrique Type aux articles. C'est juste un tag qui permet de ne prendre en compte que les lignes concernées.

Le plus déroutant pour un débutant, c'est la logique de FileMaker

 

TEST FACTURE-2.fmp12

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour Philippe,

 

Alors là je suis complètement espanté. Bravo l'artiste. 

Cela correspondrais tout à fais à mon besoin.

Je n'ai plus qu'a le soustraire au bon endroit et le tour est joué.

Aller maintenant je réitère pour mes autres calculs et le tour sera joué.

 

Encore merci et bon courage à tous.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Re bonjour Phillipe,

 

J'ai juste une petite question qui demeure.

J'ai réussi à tout faire fonctionné comme je le désire.

Ma seule question est pourquoi et d'où viens la table "Lignes_Articles".

Ne peut-on pas faire le liens directement sur la table "Article" ?

Je suis certain qu'il y a une nécessité mais j'avoue ne pas comprendre pourquoi.

Encore merci pour ton travail et pour ta réponse.

 

P.S : désolé pour mon orthographe douteux parfois, j'espère que vous n'avez pas trop les yeux qui saigne. :)🙄

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Dans la table Articles, tu as la base des articles disponibles que tu les utilises ou pas.

Une table Factures (simplifiée à l'extrême) dans laquelle tu choisis les articles et les quantités.

La table Lignes correspond à toutes les lignes de la Facture.

Il n'y a pas de table Lignes_Articles, c'est juste une occurrence de table (une OT) qui permet d'affecter les valeurs des articles au moment ou tu crées ta ligne grâce à l'IdArticle  qui fait le lien entre Lignes et Articles.

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Re bonjour Phillipe,

Merci pour ces précisions.

Si je comprend bien pour créer l’occurrence de table je vais dans l'onglet lien dans le gestionnaire de la base de donnée et je duplique la table Article que je peux renommer ensuite c'est bien cela ?

Sinon peux-tu me décrire le protocole pour créer cette OT " Lignes_Articles".

De plus, si j'ai bien compris cette OT permet de garder les valeur inscrite dans la table "Article" au moment ou je rentre mais donné sur la page Facture, ce qui permet lorsque je change les données des articles de ne pas impacté les factures déjà réalisé et donc d'éviter l'effet "boule de neige".

Encore merci pour ton aide et désolé du dérangement. Je tiens le bon bout et ceux grâce à toi. Mille Mercis car tu as résolu un casse tête de 15 jours et guérie ma migraine.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Car mon Problème est que j'ai essayer de reproduire ton exemple sur ma propre base.
C'est là que les problèmes commence. Je suis obliger de fonctionné ainsi car comme tu peux t'en douter ma base ne comporte pas que ça, de plus mon catalogue est ma fois plus étoffé.

J'ai donc essayé de tout re-paramétré et lorsque je rentre une nouvelle entrée sur ma Table Externe dans Facture il m'indique bien dans Ligne les Bon ID mais ne fait remonté aucune information de plus (Hormis l'ID) de Article.

Je te touche au bute, je le vois, j'y suis presque, mais il me manque le petit pas à franchir pour arriver au sommet.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Pour une migraine de 15 jours à Rodez , mieux vaut oublier l'ordinateur et aller grimper dans le clocher de la cathédrale 🙂

Pour faire une occurence de table, il faut comprendre quelques principes de base qui régissent FileMaker. Le premier c'est le contexte, c'est-à-dire la table du modèle dans lequel tu travailles. A partir de ce modèle, tu vas chercher des informations dans d'autres tables. L'image la plus utilisée est celle de l'ancre et de la bouée : l'ancre, elle est fixe, c'est ton contexte. Les rubriques de ton ancre sont appelées clés primaires, elles peuvent être indexées ou non indexées, c'est sans importance. La bouée, ce sont les tables externes qui viennent se lier à l'ancre, les rubriques de liaison s'appellent clés étrangères. Celles-ci sont obligatoirement indexées.

En fait il s'agit d'un filtre, dans la démo que je t'ai fait sur l'OT Lignes_Articles, à partir de l'IdArticle, tu vois et récupères toutes les informations de l'article avec le même IdArticle et seulement ceux là. Dans l'OT Lignes_Basiques, j'ai créé une rubrique calculée de la valeur "Basique" qui va  se lier au type "Basique".

En espérant avoir été assez clair, je te souhaite une bonne continuation.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour Philippe,

 

Désolé pour ma réponse tardive mais j'ai eu un weekend un peux chargé et je n'ai pas pu regarder ta réponse que je trouve somme toute clair (enfin du moins je pense avoir compris).

Mon problème ne se situe pas dans cette partie mais déjà sur la première partie.

En effet, j'ai bien compris comme tu avais fait pour m'aider pour les calculs particulier que j'avais sur la feuille facture. Mon soucis est que lorsque je lui indique dans la table externe sur la feuille Facture un élément il me créé bien sur la feuille et table "ligne" un enregistrement indiquant les bon Id mais ne fait remonté aucune autre information.

Peut-être que le problème viens de mes liens. Pour t'aider à comprendre voici mon tableau de lien :

image.png.266f5b21d8659cfb1f490bca92f5add6.png

Voici celui de ton exemple :

image.png.b9f994d3a8c36032d6186147cbaac5a3.png

J'ai entouré en bleu les endroits ou j'ai remarqué une différence (je ne sais pas si c'est normal et si c'est cette différence qui implique un dis-fonctionnement).

Dans la table externe j'ai créer une liste de valeur comme suis :

image.png.9897f4bfa287c70a2002a27799b53613.png

Lorsque je lui indique un élément, il va bien me chercher le bon Id et quand je vais sur la feuille "Ligne" il m'indique tout les bon Id mais seulement les Id comme suis :

image.png.8a37e9b2a5abe1b5de21428a7a176d8f.png

Je ne comprend donc pas d'où viens mon soucis. Du coup comme aucune information ne remonte je ne peux pas testé si tout les calculs que j'ai réalisé sont bon.

Une idée ?

 

Encore merci pour tout et désolé du dérangement. J'espère vraiment ne plus avoir a t’embêter et finir par tout comprendre pour me débrouiller seul par la suite.

 

image.png.266f5b21d8659cfb1f490bca92f5add6.png

image.png.b9f994d3a8c36032d6186147cbaac5a3.png

image.png.9897f4bfa287c70a2002a27799b53613.png

image.png.8a37e9b2a5abe1b5de21428a7a176d8f.png

image.png.266f5b21d8659cfb1f490bca92f5add6.png

image.png.b9f994d3a8c36032d6186147cbaac5a3.png

image.png.9897f4bfa287c70a2002a27799b53613.png

image.png.8a37e9b2a5abe1b5de21428a7a176d8f.png

image.png.266f5b21d8659cfb1f490bca92f5add6.png

image.png.b9f994d3a8c36032d6186147cbaac5a3.png

image.png.9897f4bfa287c70a2002a27799b53613.png

image.png.8a37e9b2a5abe1b5de21428a7a176d8f.png

image.png.266f5b21d8659cfb1f490bca92f5add6.png

image.png.b9f994d3a8c36032d6186147cbaac5a3.png

image.png.9897f4bfa287c70a2002a27799b53613.png

image.png.8a37e9b2a5abe1b5de21428a7a176d8f.png

image.png.266f5b21d8659cfb1f490bca92f5add6.png

image.png.b9f994d3a8c36032d6186147cbaac5a3.png

image.png.9897f4bfa287c70a2002a27799b53613.png

image.png.8a37e9b2a5abe1b5de21428a7a176d8f.png

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

ça y est j'ai trouvé. Pardon pour le dérangement mais j'avais oublié une petite étape ma fois significative.

C'était idiot je n'avais mis l'Entrée auto résultat calcul sur les rubriques dans la table Ligne. Forcément il ne pouvais pas me renvoyer les informations.

 

Désolé pour le dérangement et encore merci pour Votre aide à tous.

Bonne continuations.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

C'est ça l'apprentissage : faire des erreurs, les comprendre par soi-même et les corriger. Il n'y a rien de plus efficace !

Bonne continuation.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×