{"text_format":"3","workbook":"xlsx","n_sheets":3,"sheets":["Articles","Tableau de bord","Adaptations"],"not_rendered":{"images":1,"macros":1,"defined_names":23},"read":"whole","date_system":"1900"}

{"sheet":"Articles","index":0,"n_rows":55,"n_cols":5,"rows_kept":55}
{"$rows_empty":7}
[null,null,"Code","D é s i g n a t i o n","P. Vente"]
[]
[]
[null,null,"p 17","Abattant  (Alca) ",{"v":850,"d":"850.00"}]
[null,null,"P 1","Abattant  (Alca)  A 60",{"v":1450,"d":"1,450.00"}]
[null,null,"P 2","Abattant  (Alca)  A 604",{"v":5750,"d":"5,750.00"}]
[null,null,"P 3","Abattant (Ejim)  \"Abab\"",{"v":850,"d":"850.00"}]
[null,null,"P 4","Abattant (Ejim)  (f. bois)",{"v":1950,"d":"1,950.00"}]
[null,null,"P 5","Abattant (Ejim)  abs",{"v":1550,"d":"1,550.00"}]
[null,null,"P 6","Abattant (éponge)",{"v":600,"d":"600.00"}]
[null,null,"P 7","Accessoire pour sèche serviette (blanc)",{"v":1250,"d":"1,250.00"}]
[null,null,"P 8","Accessoire pour sèche serviette (chromé)",{"v":1350,"d":"1,350.00"}]
[null,null,"P 9","Accordéon de fumée  Ø   80",{"v":600,"d":"600.00"}]
[null,null,"P 10","Accordéon de fumée  Ø   80 PM",{"v":450,"d":"450.00"}]
[null,null,"P 11","Accordéon de fumée  Ø   90 ",{"v":600,"d":"600.00"}]
[null,null,"P 12","Accordéon de fumée  Ø   90 PM",{"v":400,"d":"400.00"}]
[null,null,"P 13","Accordéon de fumée  Ø  100",{"v":650,"d":"650.00"}]
[null,null,"P 14","Accordéon de fumée  Ø  100 PM",{"v":450,"d":"450.00"}]
[null,null,"P 15","Accordéon de fumée  Ø  110 ",{"v":600,"d":"600.00"}]
[null,null,"P 16","Accordéon de fumée  Ø  110 PM  ()",{"v":450,"d":"450.00"}]
[null,null,"P 17","Accordéon de fumée  Ø  120",{"v":950,"d":"950.00"}]
[null,null,"P 18","Accordéon de fumée  Ø  125",{"v":950,"d":"950.00"}]
[null,null,"P 19","Accordéon de fumée  Ø  140",{"v":1200,"d":"1,200.00"}]
[null,null,"P 20","Applique à sertir double Ø 16 x 1/2\" (Tiemme) ",{"v":1350,"d":"1,350.00"}]
[null,null,"P 21","Applique à sertir double Ø 20 x 1/2\" (Tiemme) ",{"v":1800,"d":"1,800.00"}]
[null,null,"P 22","Applique à sertir Ø 16 x 1/2\" (ktm & SLR)",{"v":350,"d":"350.00"}]
[null,null,"P 23","Applique à sertir simple Ø 16 x 1/2\" - 11 cm (Tiemme) ",{"v":1400,"d":"1,400.00"}]
[null,null,"P 24","Applique à sertir simple Ø 16 x 1/2\" (Tiemme) ",{"v":500,"d":"500.00"}]
[null,null,"P 25","Applique à sertir simple Ø 20 x 1/2\" (Tiemme) ",{"v":650,"d":"650.00"}]
[null,null,"P 26","Applique à sertir simple Ø 20 x 3/4\" (Tiemme) ",{"v":950,"d":"950.00"}]
[null,null,"P 27","Applique à souder Ø 16 (fdh)",{"v":150,"d":"150.00"}]
[null,null,"P 28","Applique à visser (3 vis) Ø 16 x 1/2\"  (Tiemme) ",{"v":550,"d":"550.00"}]
[null,null,"P 29","Applique à visser (3 vis) Ø 16 x 3/4\"  (Tiemme) ",{"v":850,"d":"850.00"}]
[null,null,"P 30","Applique à visser (3 vis) Ø 20 x 1/2\"  (Tiemme) ",{"v":850,"d":"850.00"}]
[null,null,"P 31","Applique à visser (3 vis) Ø 20 x 3/4\"  (Tiemme) ",{"v":1000,"d":"1,000.00"}]
[null,null,"P 32","Applique à visser Ø 16 x 1/2\"  (Tiemme)",{"v":650,"d":"650.00"}]
[null,null,"P 33","Applique à visser Ø 16 x 1/2\" (energycal)  ",{"v":350,"d":"350.00"}]
[null,null,"P 34","Applique à visser Ø 16 x 1/2\" (FLR)",{"v":420,"d":"420.00"}]
[null,null,"P 35","Applique à visser Ø 16 x 1/2\" (ktm)",{"v":350,"d":"350.00"}]
[null,null,"P 36","Applique à visser Ø 16 x 1/2\" (slm)",{"v":250,"d":"250.00"}]
[null,null,"P 37","Applique à visser Ø 16 x 3/4\"  (Tiemme)",{"v":750,"d":"750.00"}]
[null,null,"P 38","Applique à visser Ø 16 x 3/4\" (dune)  ",{"v":450,"d":"450.00"}]
[null,null,"P 39","Applique à visser Ø 16 x 3/4\" (energycal)  ",{"v":400,"d":"400.00"}]
[null,null,"P 40","Applique à visser Ø 16 x 3/4\" (FLR)  ",{"v":450,"d":"450.00"}]
[null,null,"P 41","Applique à visser Ø 20 x 3/4\" (ktm)",{"v":450,"d":"450.00"}]
[null,null,"P 42","Applique bronze  Ø 15/21  (fdh) ",{"v":250,"d":"250.00"}]
[null,null,"P 43","Applique chromée  Ø 15/21  (fdh) ",{"v":250,"d":"250.00"}]
[null,null,"P 44","Applique chromée  Ø 15/21  (glr) ",{"v":250,"d":"250.00"}]

{"sheet":"Tableau de bord","index":1,"n_rows":8,"n_cols":14,"rows_kept":8,"hidden":true,"merged":[[7,2,7,5]]}
[]
[null,"Code    article","Désignation","Prix unitaire HT","Quantité","Seuil de commande",null,"Noms","Adresses1","Adresse2","CP","Villes","N° Téléphone","Mail"]
[]
[null,null,{"$f":"IFERROR(VLOOKUP(B3,#REF!,2,FALSE),\"\")","v":""},{"$f":"IFERROR(VLOOKUP($B$3,#REF!,3,FALSE),\"\")","v":""},null,{"$f":"IFERROR(VLOOKUP($B$3,#REF!,5,FALSE),\"\")","v":""}]
[]
[]
[]
[null,null,"Là est le problème ! Ce tableau une fois rempli, en cliquant sur le bouton \"Entrée stock\" doit mettre à jour le stock. \nPour cela la macro doit d'abord regarder si il y a déjà le code article en stock et si oui mettre à jour seulement la quantité et si non, créer une ligne suppémentaire et y inscrire la totalité de cette ligne.",{"$nulls":6},"OK ! Cela fonction bien"]

{"sheet":"Adaptations","index":2,"n_rows":28,"n_cols":2,"rows_kept":28,"hidden":true}
["Adaptations"]
[1,"Onglet Facture"]
[null,"Une colonne \" I \" a été créée pour tester si les ventes de la facture provoquent un (ou plusieurs) stock négatif.  Elle calcule :\n- ligne à ligne (I16 à I37)  le nouveau stock après validation de la facture\n-  en cellule I14 si oui ou non il y a des stocks négatifs (0 / nombre de stocks négatifs)\n- elle affiche un mesage d'alerte en cellules fusionnées I1:I13 si la cellule I14 contient >0 "]
[null,"Une colonne \" J \" a été créée pour tester si la facture a déjà été sauvegardée ou pas.\nLes cellules  :\n- I14 sera alimentée par la macro de sauvegarde de la facture (mise à 1) ou par la macro de \"Nouvelle facture\" (mise à 0) \n-  en cellule I14 si oui ou non il y a des stocks négatifs (0 / nombre de stocks négatifs)\n- elle affiche un mesage d'alerte en cellules fusionnées I1:I13 si la cellule I14 contient =1 "]
[null,"La mise en page de la facture a été adaptée naturellement pour éviter d'imprimer ces colonnes \"technique\".\nA propos de la Mise en page, il est inutile et même très mauvais de créer des lignes et des colonnes qui ne servent à rien (A ; B et  H et ligne 1 et 2 et 3) si c'est uniquement pour faire de la \"Mise en page\".  Il y a un puissant outil de Mise en page qui permet de faire tout cela et cela facilitera grandement la vie pour effectuer les tests et autres calculs.\nAu cas où un usage inconnu serait toutefois utile et aussi pour ne pas devoir refaire toutes une série de paramétrages, il a été laissé en place ces colonnes et lignes inutiles."]
[null,"La macro de sauvegarde de la facture (Save_facture) a été adaptée de la manière suivante:\n- la macro commence par tester si la facture provoque un ou plusieurs stock négatif (test de la cellule I14).  Si \"OUI\" elle enverra un message pour dire que la sauvegarde EST IMPOSSIBLE et la mactro s'arrêtera.\n- ensuite elle testera si la facture n'a pas déjà été sauvegardée (cellule J14).  Si \"OUI\" elle enverra un message pour dire que la sauvegarde EST IMPOSSIBLE et la mactro s'arrêtera.\n- les instructions de MAJ du stock ont été ajoutée\n- le positionnement du flag \"Facture sauvegardée) est positionné à 1\n- la macro a été fortement commentée pour en permettre la compréhension"]
[null,"La macro Nouvelle_Facture a été adaptée pour la MAJ du flag \"Facture sauvegardée\" . Celui-ci est positionné à 0"]
[null,"Les cellules F39 et G39 ont été rendues invisibles si le montant de la facure ne nécessite pas de remise (pour éviter les discussions oiseuses de client qui demanderait une remise s'il n'y ont pas droit).  Ceci est un avis personnele t peut facilement être enlevé si cela ne plait pas à l'utilisateur (voir Mise ne forme conditionnelle)"]
[null,"L'onglet a été protégé (SANS MOT DE PASSE) de manière à éviter les maladresses.  Seules les zones à modifier manuellement peuvent être accessibles.  Toutes les cellules contenant des formules sont donc protégées.  Si modification nécessaire : il suffit d'enlever la protection sous l'onglet Révision"]
[2,"Onglet Clients"]
[null,"Aucune adaptation.\nMAIS il serait, à mon avis, intérressant de munir les clients d'une référence unique (comme les articles).  En effet, il se pourrait que des clients se nomment de la même façon et rien ne permettrait de les distinguer.  C'est pourquoi il est fortement conseillé de numéroter les clients.  Notamment lorsqu'il sera nécessaire d'enregistrer les factures sous le bon compte client..."]
[3,"Onglet STOCK"]
[null,"L'onglet a été transformé en \"TABLEAU\" (voir onglet INSERTION / TABLEAU.\nCela a pour avantage que, lorsque l'on crée une ligne dans le tableau, les formules éventuelles contenues dans les autres lignes se mettent automatiquement en place dans la nouvelle ligne.  Il y a aussi d'autres avantages de traiter les données sous forme de tableau (voir commentaires de micosoft).  Enfin, puisque un des buts du jeu est d'apprendre, cela permet de montrer comment réagissent les formules en utilisant un tableau (remplacement des références des plages A1:A1000 par le nom des colonnes par exemple)"]
[null,"La mise en forme des colonnes a été adaptée également : il faut éviter de centrer les données : cela rend la lecture plus difficile.  On centre les titres mais pas les données.\nPar contre, pour éviter que les chiffres ne collent aux lignes des colonnes, il est facile de régler sous Format de cellule / Nombre / Personnalisé le type de format en ajoutant derière le type choisi \" \" un espace (ou deux) Voir exemple dans le classeur "]
[4,"Onglet Récapitulatif factures"]
[null,"Mise en forme adaptée"]
[5,"Tableau de bord"]
[null,"Entrée stock"]
[null,"Création d'une cellule C4 qui affichera la désignation de l'article si celui-ci existe dans le stock.  Sinon la cellule sera vide\nCréation d'une cellule D4 qui affichera le prix de l'article si celui-ci existe dans le stock.  Sinon la cellule sera vide\nCréation d'une cellule F4 qui affichera le seuil de l'article si celui-ci existe dans le stock.  Sinon la cellule sera vide"]
[null,"La macro entrée_stock a été créée.  Elle gère les entrées soit en mettant à jour le stock et les éléments qui changent soit elle créera un nouvel article.  La macro est fortement documentée pour une meilleure compréhension.  La macro a été \"accrochée\" au bouton \"Entrée stock\""]
[null,"Entrée client"]
[null,"La macro existante fonctionnant très bien, elle a été laissée en place"]
[null,"Pour permettre de comprendre les USERFORM, il a été créé une USERFORM qui gère aussi l'entrée d'un nouveau client.  On l'appelle en appuyant en même temps sur CTRL/MAJ/M.  Les explications pour la création d'un USERFORM sont très longues et peuvent difficilement être expliquée dans ce Forum.  Je conseille de :\n-lire la littérature dans l'aide d'Excel\n- consulter le site : "]
[null,"http://www.excel-pratique.com/fr/vba/userform.php"]
[null,"- acheter le livre \"Programmation VBA pour Excel 2007 (ou autre année) pour les Nuls\".  Il est très bien fait et me sert de livre de chevet…"]
[null,"Quand même en résumé :\n- il faut créer la boîte de dialogue en ajoutant un module \"USERFORM\"\n- il faut régler les paramètres de chaque contrôles (par exemple le nombre de caractères de la zone texte (ici j'ai mis 30 caractères pour toutes les zones sauf pour le cantion postal où j'ai mis 5 et le téléphone où j'ai mis 20)  J'ai aussi régle les paramètres de caractère (Calibri 11).  Il y a beaucoup d'autre paramètres si on veut s'amuser à colorier ou mettre des cadres etc.. mais je n'ai pas le temps à faire tout cela : à toi de t'amuser si tu le veux.\nCe qui est plus important, c'est queil faut créer le code VBA qui va gérer tout cela et cele se fait, en étant dans le VBA et dans la boîte de dialogue en appuyant sur F7 (pour revenir à la boîte il faut taper sur MAJ F7)  Le code s'affiche et tu verras ce que j'ai fait\nIl y a différentes routines qui ont été crées et il faut les compléter si nécessaire.  Il aut notamment gérer les 2 boutons  VALIDER et ANNULER et bien entendu l'affichage de la boîte."]
[null,"Voilà, j'en termine, comme je ne connais pas tes compétences, il vaut mieux que tu me poses les  questions nécessaires à ta compréhension.  Je pense que j'ai réalisé tout ce que tu demandais"]
[null,"Bon courage !"]