Créer une facture avec Access – Partie 1/3 – Création des tables et des relations

Créer une facture avec Access – Partie 1/3 – Création des tables et des relations

Note : Envie de prendre un raccourci pour ne pas avoir à suivre ce tutoriel de près de 2h30 ? La base de données résultant de ce tutoriel en 3 parties est disponible sur cette page.

Suite à la demande de plusieurs abonnés, nous allons, dans ce tutoriel en 3 parties, créer une facture sous Access. Si vous gérez la liste de vos clients sur Access, le fait de créer vos factures à partir de cette même base de données vous fera gagner un temps précieux.

Il y a différentes manières de créer cette « application » de gestion de factures, mais je vais vous montrer comment en créer une de façon simple et vous pourrez tout à fait la personnaliser selon vos besoins.

Cependant, si vous établissez énormément de factures, je vous invite à vous tourner vers un logiciel de facturation adéquat.

Je vais faire de nombreuses manipulations dans ce tutoriel et, pour éviter d’avoir à tout réexpliquer dans le détail sur la raison pour laquelle je fais certaines actions, vous devrez savoir :

Ce tutoriel est divisé en 3 parties :

Pour chaque objet de la base de données, je placerai un préfixe avant son nom afin de mieux le retrouver : T pour table, R pour requête, F pour formulaire, S/F pour sous-formulaire et E pour état.

Création des tables Access :

Nous allons donc commencer par créer nos tables :

  • T_Clients : coordonnées de chaque client.
  • T_Date_facture : servira en tant que sous-formulaire et répertoriera toutes les factures établies.
  • T_Facture : servira en tant que sous-formulaire et répertoriera tous les items de chaque facture établie.
  • T_Tarifs : répertorie tous les produits à vendre avec leurs tarifs datés. De cette manière, en cas de modification de tarifs, les factures antérieures ne seront pas modifiées, mais les factures ultérieures auront le nouveau tarif.

Nous allons commencer par créer les tables T_Clients et T_factures grâce à une feuille de calculs Excel que nous allons importer. Vous trouverez cette dernière dans l’Espace membres.

Ouvrez une nouvelle base de données, fermez la table créée par défaut et cliquez sur Excel Importer données Excel dans Access de l’onglet Données externes.

Importer les données sources dans une nouvelle table de la base de données activeCliquez sur Parcourir… pour aller rechercher le fichier téléchargé et cliquez sur Ok.

Choix de l'onglet Excel ClientsCliquez sur Suivant.

 

Première ligne contient les en-têtes de colonnesCochez la case Première ligne contient les en-têtes de colonnes et cliquez sur Suivant.

Options des champsCliquez sur Suivant.

 

Choix de la clé primaireCliquez sur Suivant en laissant cochée la case Laisser Access ajouter une clé primaire pour qu’Access génère un numéro automatique pour chaque client.

Choix du nom de la table Access

Enregistrement des étapes d'importation

Enfin, donnez le nom T_Clients à cette table et cliquez sur Terminer et Fermer.

Notre table Clients est créée, nous allons juste modifier certaines choses.

Ouvrez cette table et passez en Mode création Mode création 2013 en cliquant droit sur l’onglet T_Clients. Modifiez le nom du champ ID en ID_Client afin de le repérer plus facilement par la suite. Dans le champ Civilité, choisissez Assistant Liste de choix et tapez les valeurs M., Mme et Mlle. Pour les champs CP et Téléphone, saisissez respectivement les masques de saisie 99999 et 99 99 99 99 99. Fermez la table en acceptant d’enregistrer les modifications apportées.

Nous allons maintenant importer la liste des produits en vente. Pour cela, recliquez sur Excel Importer données Excel dans Access de l’onglet Données externes, recherchez le fichier Excel utilisé précédemment et cliquez sur Ok.

Choix de l'onglet Excel Tarifs

Cette fois-ci, choisissez l’onglet Tarifs et cliquez sur Suivant.

Laissez la case Première ligne contient les en-têtes de colonnes cochée et cliquez sur Suivant jusqu’au choix du nom de la table que vous nommerez T_Tarif. Cliquez sur Terminer et Fermer.

Encore une fois, ouvrez la table créée en Mode création Mode création 2013, renommez le champ ID en ID_Tarifs. Passez le Format du champ Prix_unitaire en Monétaire et saisissez 0 (zéro) pour sa Valeur par défaut. Enfin, pour le champ Date, indiquez un Format Date abrégée et le Masque de saisie 99/99/9999. Fermez la table en acceptant d’enregistrer les modifications apportées.

Les 2 tables suivantes vont être créées manuellement.

Créez la table T_Date_facture avec les champs suivants :

  • ID_Date_facture : NuméroAuto. Ce champ est la clé primaire ;
  • ID_Client : Numérique ;
  • Date_Facture : Date/Heure. Choisissez le Format Date abrégé et le Masque de saisie du même nom en cliquant sur Trois points ;
  • Mode_de_paiement : Assistant liste de choix (dans la boîte de dialogue, vous sélectionnerez Je taperai les valeurs souhaitées et saisirez les données suivantes les unes en dessous des autres : Chèque, Virement, Espèces, CESU. Cochez la case Limiter à la liste).

Créez la table T_Factures avec les champs suivants :

  • ID_Facture : NuméroAuto. Ce champ est la clé primaire ;
  • ID_Date_facture : Numérique. Choisissez l’Index avec doublons ;
  • ID_Tarif : Numérique. Choisissez l’Index avec doublons ;
  • Désignation : Texte court ;
  • Quantité : Numérique ;
  • Prix_unitaire : Monétaire.

Création des relations Access :

Nous allons maintenant créer nos relations. Pour cela, cliquez sur Relations Relations dans l’onglet Outils de base de données. Cliquez sur Afficher toutes les relations Afficher toutes les relations et, si vous avez déjà des relations créées, supprimez les liens en cliquant droit dessus > Supprimer Supprimer une relation Access, puis masquez les tables en cliquant droit dessus > Masquer la table Masquer la table.

Cliquez sur Afficher la table Afficher la table 2013 et, dans la boîte de dialogue, double-cliquez sur chacune de vos 4 tables avant de cliquer sur Fermer.

Boîte de dialogue afficher la table

 Relations Access non créées

Créez vos relations de manière à avoir un lien :

  • Entre le champ ID_Client de la table T_Clients et le champ ID_Client de la table T_Date_facture ;
  • Entre le champ ID_Date_facture de la table T_Date_facture et le champ ID_Date_facture de la table T_Factures ;
  • Entre le champ ID_Tarif de la table T_Tarifs et le champ ID_Tarif de la table T_Factures.

Pour chaque relation, cochez les cases Appliquer l’intégrité référentielle, Mettre à jour en cascade les champs correspondants et Effacer en cascade les enregistrements correspondants.

Vos relations devraient ressembler à ça :

Relations Access créées

Dans la prochaine partie de ce tutoriel, nous découvrirons comment créer le formulaire principal et ses sous-formulaires.

Téléchargez « Créer une facture avec Access – Partie 1/3 – Création des tables et des relations » au format PDF

Je vous propose un fichier annexe dans l’Espace Membres contenant le fichier Excel utilisé dans ce tutoriel.

Newsletter

115 réactions au sujet de « Créer une facture avec Access – Partie 1/3 – Création des tables et des relations »

  1. Merci pour le dernier cours Access sur la facturation. Je n’arrive pas à télécharger le fichier Excel. Ce tutoriel est en 3 parties. J’ai la première et je n’arrive pas à trouver la seconde et troisième partie.

    Merci
    Jonathan

  2. Merci Lydia, j’attends avec impatience les deux autres volets de ce chapitre, car cela faisait quelques temps que je cherchais des infos sur ce sujet en particulier.
    Continues ainsi, c’est un vrai plaisir que de suivre tes tutos.

    Pierre

  3. Très bon tuto, même si je ne préconiserais pas l’emploi de la suite Office pour la gestion de sa facturation.
    Il existe tellement de logiciels de facturation disponibles qui feront ça à votre place…

  4. Bonjour,
    Je commence à apprendre Access et je n’arrive pas à trouver dans l’espace membres le lien Excel pour T_Clients et T_Facture. Pourriez-vous m’indiquer où il se trouve ? Merci !

    1. Bonjour,

      Pour retrouver facilement une ressource, copiez le titre de l’article (Créer une facture avec Access – Partie 1/3 – Création des tables et des relations) et allez dans l’Espace membres.
      Faites Ctrl + F et collez le titre de l’article dans la recherche : en surbrillance se trouvera la ressource que vous recherchez.

  5. Merci Lydia pour ce tuto sur Access.
    Lorsqu’on est débutant et que l’on découvre ce logiciel, il est difficile de le prendre en main.
    Grâce à ton aide, on aura un niveau un peu plus confirmé.

  6. Bonjour,
    Ce sont vraiment de super tutos, un grand merci pour ce magnifique travail.
    Lorsque je veux saisir des lignes de facture dans le sous-formulaire S/F_Factures, le message d’erreur suivant s’affiche dès la première ligne, impossible d’aller plus loin :
    Modifications non effectuées : risque de doublons dans champs index, clé principale ou relation interdisant les doublons. Modifiez les champs contenant les doublons, enlevez ou redéfinissez l’index pour permettre les doublons et recommencez.
    Je vous remercie pour votre aide.
    Cordialement,
    Claire

  7. Bonjour,
    Oui, j’ai choisi un mode de payement, j’ai aussi été regarder les index pour T_Factures, T_Date facture et T_Tarifs en vérifiant avec votre tuto et je n’arrive pas à déterminer d’où vient le problème.

    1. Avez-vous vérifié les relations entre les tables, car ce genre de problème arrive si vos tables n’acceptent pas les doublons (Index avec ou sans doublons et relations) ?

  8. Oui, j’ai et je n’arrive pas à voir mon erreur.
    Les relations sont identiques à celles de votre page et dans la table T_factures, ID_Facture est la clé primaire et ID_Date_Facture et ID Tarif sont indexés oui avec doublons.

  9. Une petite précision concernant la vidéo : les clés primaires et étrangères peuvent tout à fait avoir un nom différent. Il n’était donc pas obligatoire de corriger ID_tarifs en ID_tarif. Mais c’est juste du chipotage.

      1. Ayant réalisé de nombreuses BDD Access dans mon parcours personnel et professionnel, je tenais à signaler la très bonne qualité de ce tutoriel. C’est très pédagogique, bravo.

  10. Bonjour,
    Je cale pour ajouter une table « affaire » et une table « équipements », je dois gérer plusieurs données sur une même affaire. Je voudrais créer une base pour gérer mes saisies de travaux d’un atelier de réparation, pouvoir éditer un devis, un ordre de travail et gérer le suivi par rapport à un volume d’heure sur chaque affaire.

  11. J’ai beaucoup aimé votre blog, bonne continuation Lydia.
    En ce qui concerne Access, je cherche à résoudre le problème lié au champ stock s’il existait dans la table T_tarifs (ou T_produits), c’est-à-dire que si je vends une quantité « n » d’un produit X, le stock diminuera automatiquement de « n ».

  12. Un grand merci Lydia pour tout ce que tu fais et je vous encourage beaucoup, c’est génial.
    Je suis débutant en programmation, je développe une application de gestion des appels « téléphone ». Une explication si possible ou vidéo, pourquoi pas ? Mon problème, c’est le calcul des champs. Exemple : j’ai une table « appels en absence » et une 2ème table « appels effectués ». Je veux calculer les nombres, c’est-à-dire le premier appel affiche N°1 et le second affiche N°2. Ce calcul ressemble à « Compte », mais, moi, je ne veux la totalité des appels, je veux spécifier si c’était le troisième appel, il m’indique N°3 et ainsi de suite, je souhaite un tuto. Merci Lydia, bon courage.

    1. Je ne suis pas sûre de comprendre votre demande. Pourquoi ne pas utiliser les numéroauto ? Ceci tant, je ne pourrais pas faire de tuto à ce sujet, car cela est trop précis.

  13. Merci pour votre temps, je vais essayer encore. J’ai une table des livres et un auteur a plusieurs livres et un client a pris 3 livres d’un seul auteur avec des dates différentes. Si je mets une requête avec la fonction « compte », il me donne juste (auteur et le nombre de livres) et, moi, je veux afficher les dates auxquelles les livres ont été pris (l’affichage ex : livre 1, livre 2, livre 3…), on peut faire ça dans la requête ?
    Merci encore une fois.

    1. Sincèrement, je ne comprends plus rien. Dans votre premier commentaire, vous me parlez d’un compteur pour des appels et, là, vous me parlez de livres pris à une certaine date ? Quel est le rapport ?

  14. Bonjour et bravo pour cette vidéo.
    Après avoir regardé votre vidéo, il me semble qu’une erreur ne portant pas sur l’utilisation d’Access en lui-même est présente.
    En effet, les champs « désignation » et « prix unitaire » sont présents dans deux tables différentes. Vous avez donc une redondance d’informations. Or, le but d’une base de données est de minimiser les données, donc je pense que ces deux colonnes peuvent être supprimées dans la table « T_facture ».
    Bien sûr, cela entraînerait des modifications dans les formulaires suivants.

    Respectueusement.

    1. Bonjour Jimifire,

      Je vous répondrais : oui et non 🙂
      La désignation est effectivement une redondance qui pourrait être supprimée (cette base de données ayant été réalisée la tête dans le guidon, je conçois tout à fait qu’elle ne soit pas parfaite). Cependant, concernant le prix unitaire, ce champ est utilisé pour calculer le total dans la table. Voilà pourquoi, je ne peux le supprimer.

  15. Je suis nouveau parmi vous et je tiens à vous dire bravo pour ce vous faites, c’est extra et n’a d’égal que votre beauté.
    Je souhaiterais connaître la démarche pour faire un report d’un total, par exemple, fin de page 1 000, début de la page suivante 1 000.
    Merci my prof.

  16. Bonjour,
    Tout d’abord, merci pour votre aide précieuse ainsi que pour les vidéos qui sont vraiment bien faites.
    Cependant, je n’arrive pas à comprendre l’utilité de la table « T_Date_facture », pourquoi ne peut-on pas faire la même chose avec 3 tables ?

    Merci par avance.

  17. Bonjour,

    Je me suis inscrite sur votre site, mais visiblement cela n’a pas fonctionné. Je voulais savoir s’il était possible de créer des tables sous Access et utiliser les données de certaines tables pour créer un programme en VBA ?
    J’aurais aimé savoir également s’il était possible de créer le même style de mise en page que sur Excel ?
    Merci d’avance.

    1. Bonjour,
      Effectivement, vous n’avez pas validé votre adresse email en cliquant sur le mail reçu.
      Vous pouvez utiliser Access pour créer des programmes en VBA et les tables ressemblent à Excel mais il est préférable de saisir les données dans les formulaires. Pour débuter, je vous invite à consulter la série d’articles sur Access.

  18. Bonjour Lydia,
    Est-il possible d’utiliser une table « client » déjà créée à la place de celle d’Excel ? Je l’ai créée à partir de votre tutoriel. Comment l’utiliser pour celui-ci ? Lorsque je l’importe, je ne peux modifier le nom du champ « N°client » en « ID_clients ». Est-ce gênant pour la suite du tutoriel ?

  19. Bonjour et merci pour les vidéos sur la facturation. Excellent. Toutefois, comme Mélanie (novembre 2014), je ne comprends pas les rôles de chacun et liens des tables T_Date_facture et T_Facture. Pourriez-vous élaborer un peu ? Et autre question : pourquoi indiquer Index avec doublon pour ID_Date_facture et ID_Tarif ? Avec quel autre champ cette information est-elle liée ? Merci.

    1. Bonjour Suzanne,
      Comme indiqué à Mélanie, si tous les items d’une facture se retrouvaient dans une table dont l’identifiant serait le même (à savoir le numéro de facture), on se retrouverait avec plusieurs factures ayant le même numéro (ce qui n’est pas possible). Ce qui répond à votre 2e question puisqu’un item pourra avoir le même numéro s’il se trouve sur la même facture, donc avec doublons.

  20. Bonjour chère Lydia.
    Merci pour vos efforts pour cette formation.
    J’essaye de suivre les étapes de création de facture avec Access. Dans la partie 2/3 (Création de formulaire principal), je n’arrive pas à supprimer isolement les étiquettes dans le formulaire. Lorsque je clique sur une étiquette puis je supprime, l’étiquette disparaît avec sa zone de texte, on dirait qu’elles sont reliées. Par contre, dans votre vidéo, je vous vois supprimer l’étiquette isolement. On dirait aussi que mes champs sont liés entre eux ? Je n’arrive pas à les déplacer manuellement comme vous le faites. Pouvez-vous m’aider là-dessus ?

    1. Bonjour Géraud, un label disparaît lorsque vous supprimez son contrôle, mais si vous souhaitez laisser uniquement le contrôle et qu’il disparaît avec le label, il faut voir s’il y a une disposition qui est mise en place.

  21. Bonjour Lydia,
    Ces tutos sont très intéressants, bravo ! Une chose m’échappe : faut-il réellement avoir une table factures (avec des données) avant de créer sa première facture ?
    Amicalement.

  22. Bonjour,
    J’ai regardé 2 de tes videos sur les relations, que j’ai trouvé par ailleurs très instructive, cependant, tu ne nous explique pas que sont les types de jointure et à quoi ça sert.
    Merci d’avance pour ta réponse.

  23. Salut Lydia,

    Est-ce possible, avec Access, de pouvoir modifier des prix temporairement, d’une manière ultra-simple et très rapide ?
    Prenons l’exemple d’un grossiste, souvent ses prix ne sont pas fixes, il fait des prix à des clients, selon la quantité qu’ils prennent, etc.
    Est-ce possible de changer vite fait le prix juste pour une seule facture ?

    Merci d’avance et merci beaucoup pour ton énorme travail.

      1. Merci pour cette réponse propre, nette et sans bavures, c’est joli tout ça.

        Une autre question : Si au bout de 6 mois, par exemple, je voulais vérifier le stock écoulé de tel et tel produits, comment pourrais-je faire ?

        Une requête pour voir le nombre de fois où le produit apparaît sur les factures ?

        1. En créant une requête et en cliquant sur le bouton Totaux en haut de l’écran, une ligne apparaît et vous permettra de sélectionner le type de regroupement (somme ou compte).

  24. J’ai besoin de la base de données de la facturation, j’ai eu les vidéos et le pdf mais pas la base en Access ! Cette facturation que je veux doit être conçue de la manière que les clients ne sont pas connus d’avance s’il vous plaît.

      1. Bonjour Lydia,
        Je suis nouveau dans la base de données, mais, à vrai dire, ton cours m’a apporté assez.
        J’ai un petit souci, j’ai une base de données avec le code :
        Private Sub IDProduit_AfterUpdate()
        Me![NomProduit] = Me![IDProduit].Column(1)
        Me![PrixUnitaire] = Me![IDProduit].Column(2)
        End Sub

        Il a fonctionné le jour où j’ai créé la base, mais, le lendemain, il devient non opérationnel.
        S’il vous plaît, aidez-moi.

        1. Bonjour Bertrand,

          Aviez-vous bien enregistré le formulaire ? Car il n’est pas logique que le code fonctionne un jour et pas le lendemain.

          PS : Postez vos commentaires sur les pages des articles concernés, ce sera plus pratique à suivre 🙂

  25. Bonsoir à tous et encore merci pour tous ces tutos.
    Sur celui-ci, j’ai un souci, pourtant j’ai suivi à la lettre, mais ça ne fonctionne pas.
    Je suis en train de faire un petit programme de gestion de stocks.
    J’ai bien ma table commande, ma table stock et ma table pièce à sortir du stock.
    Un formulaire commande un formulaire pièce à sortir du stock et je mets en relation la commande avec les stocks et ça ne fonctionne pas.
    Quand je passe une commande avec mon formulaire, j’ai bien la commande prise en compte dans ma table commande, mais pas dans ma table stock.
    Et je me pose la question comment je vais faire pour dire au programme de sortir une pièce dans le stock quand je vais remplir une demande de formulaire avec pièce à sortir du stock.

  26. Bonjour Lydia,
    J’ai suivi ce tuto en 3 parties sur Access, mais je ne trouve pas le fichier « client et prix » sur Excel dans le site.
    J’ai été voir dans l’Espace membres.
    Si tu pouvais m’aider à le trouver.
    Merci.

      1. Bonjour Lydia,

        Je te remercie de ta réponse.
        Dis-moi, aurais-tu une idée, car je dois faire un projet pour la fin de l’année et je dois rendre un projet et moi je voulais sur le matériel informatique et sur les dépannages des personnes que je dépanne ?
        Faire un projet comme ça, avec du VBA et du code Visual Basic.
        Si tu as une idée.
        Je te remercie si tu sais aider.
        Merci.

  27. Bonjour,
    Je dois effectuer une BDD sur un restaurant administratif, avec une table client, une table Repas (Id_Client, Type de Plat, Prix, Date du Repas et Solde). Pour simplifier la base de données, je suis parti du principe qu’il n’y avait que 10 types de plats possibles (entrée froide, entrée chaude, pizza, poisson, grillade…) qui sont associés à un prix fixe qui ne change jamais. Est-il possible, lorsqu’un client choisit par exemple « entrée froide » et « pizza », que je puisse afficher directement le prix total associé à ces 2 plats ? Si oui, comment faire ? J’ai déjà fait la liste de choix pour les plats, faut-il faire pareil avec les prix et réaliser une association entre les deux ?
    Merci pour vos réponses !

  28. Merci, c’est bon, j’ai réussi !
    J’ai une dernière question : j’ai créé une colonne solde dans la table T_Client. Ce solde peut être directement rempli dans le formulaire, mais j’aimerai pouvoir afficher un nouveau solde dans la facture qui soit enregistré automatiquement. Comment faire ? Sachant que j’ai essayé de mettre dans la source du contrôle =[Solde]-[Total_TTC], mais cela ne fonctionne pas, probablement, car les 2 données ne sont pas dans le même formulaire. Pourtant, j’ai également créé une colonne Solde dans T_Facture avec doublons.
    Je vous remercie d’avance.

    1. Je ne suis pas sûre d’avoir compris, mais avez-vous essayé de créer le calcul en utilisant le générateur d’expression pour avoir la bonne syntaxe d’appel aux champs en cliquant sur les 3 petits points de la ligne source contrôle du champ ?

      1. Oui, tout à fait, lorsque je clique sur les trois petits points de la source contrôle, je souhaiterai effectuer le calcul suivant : utiliser le solde du client enregistré dans la table T_Client et soustraire le Total_TTC de la facture. Et je voudrai ensuite que ce nouveau solde soit enregistré dans la table T_Client. Mais comment faire ? Le problème est qu’Access ne peut pas accéder à une donnée d’un formulaire dans un sous-formulaire et inversement.
        Merci de votre aide.

        1. N’ayant pas trouvé d’autre solution pour une cliente, je lui ai créé 2 champs dans la table client (un pour le trop-perçu et un pour le restant à percevoir) et j’affiche ces 2 champs directement dans le formulaire de la facture. Selon que ce soit l’un ou l’autre des champs qui contient quelque chose, elle met un acompte ou rajoute le restant à percevoir.
          Mais vous pouvez aussi afficher ces champs et, dans un autre contrôle, faire le calcul du TTC – le montant des champs.

  29. Bonjour Lydia,

    Tout d’abord : MERCI ! Je débute sur Access et, même si tout ne fonctionne pas comme je veux, tes tutos sont très clairs.

    J’ai créé 2 tables et lorsque je veux faire la relation entre celles-ci (ID Client de la base client et ID Client de la base date-facture), je ne peux pas appliquer l’intégrité référentielle, car un message d’erreur me dit : la relation doit inclure le même nombre de champs avec le même type de données… et je ne sais pas ce que ça veut dire !

    Mes 2 champs sont définis en numérique et le champ ID Client de la base Client est ma clé primaire.

    Merci de ton aide !

    1. Bonjour Éva,

      Il faut comparer les propriétés des 2 champs dans leur table. Sinon, videz les tables (aucun enregistrement) et réessayez de mettre l’intégrité.

  30. Bonjour,

    D’abord, grand Merci à vous Lydia !

    J’aimerais juste signaler à certains que la programmation n’est pas faite pour les paresseux…comprenne qui pourra…

    Encore une fois Merci à vous Lydia.

    Bonne soirée à tous.

    1. Bonjour Youcef,

      Si vous parlez des tables T_Factures et T_Tarifs, c’est normal.
      T_Tarifs est votre « catalogue » et T_Factures vous sert à créer votre facture et à enregistrer les données la concernant. Il faut bien que vous alliez piocher les tarifs quelque part.
      Après, si votre entreprise fait des tarifs uniques, vous pouvez très bien vous passer de la table T_Tarifs et ne mettre que des champs textes et non pas des listes déroulantes pour saisir les éléments de la facture.
      Ce ne sont pas des doublons.

  31. Bonjour Lydia,

    J’ai besoin de savoir comment passer de cette table :
    Client Adresse SIRET Date Volume ClientIndexé
    Client A Paris 1020 01/01/2015 41 VRAI
    Client A Paris 1020 01/02/2015 42 VRAI
    Client A Paris 1020 01/03/2015 43 VRAI
    Client B Cergy 1121 01/01/2015 44 FAUX
    Client B Cergy 1121 01/02/2015 45 FAUX
    Client B Cergy 1121 01/03/2015 46 FAUX

    À celle-là :
    Table 1 Table 2
    Client Adresse SIRET ClientIndexé Date Volume
    Client A Paris 1020 VRAI 01/01/2015 41
    01/02/2015 42
    01/03/2015 43
    Table 1 Table 2
    Client Adresse SIRET ClientIndexé Date Volume
    Client B Cergy 1121 FAUX 01/01/2015 44
    01/02/2015 45
    01/03/2015 46
    Merci pour ton aide !

    Bien cordialement.

  32. D’abord, je vous remercie infiniment, Madame, pour vos cours qui sont non seulement clairs, mais aussi opérationnels.
    Mais, j’ai un problème au niveau du code :
    Private Sub ID_Tarif_AfterUpdate()
    Me![Désignation] = Me![ID_Tarif].Column(1)
    Me![Prix_unitaire] = Me![ID_Tarif].Column(2)
    End Sub

    Ça n’a pas marché chez moi, j’ai même changé d’Office à 2007, c’est le même problème, je ne sais pas où est le problème. Merci, Madame, de me guider.

    1. Bonjour Nassim,
      ID_Tarif, dans votre formulaire, est bien une liste déroulante ? Avez-vous eu une « saisie semi-automatique » en saisissant le point et le début de Column ?

  33. Super tuto !

    Cela fait 5 ans que je répète sans cesse qu’il faut que je fasse un truc pour ma facturation et, là, c’est idéal alors que débutante totale sur Access. Merci beaucoup.

    J’ai juste un truc à voir pour mes références produits qui ne sont pas du numéroauto et pour la possibilité de mettre une seconde TVA au choix (et oui, France et hors Europe).

  34. Re-bonsoir Lydia.
    Merci pour votre réactivité.
    Bon voilà ce que j’ai saisi dans le VBA :
    Private Sub ID_Tarif_AfterUpdate()
    Me![Désignation] = Me![ID_Tarif].Column(1)
    Me![Prix_unitaire] = Me![ID_Tarif].Column(2)
    End Sub

    J’ai suivi ta démarche à la lettre et voilà le message d’erreur exact qu’il me fait quand je sélectionne un ID_Tarif :
    L’objet ou la classe ne gère pas le jeu d’événements.

    Merci d’avance pour vos efforts qui sont précieux pour nous.

    Amicalement.

  35. Bonsoir Lydia,
    Normalement, c’est bon, ça a marché en essayant un autre code que vous avez utilisé dans une autre vidéo et que j’ai intégré dans cette même application.
    Merci infiniment pour l’orientation. J’ai inséré une autre table de stock des articles, mais pour la mettre à jour au fur à mesure qu’on réalise des ventes, ça n’a pas marché et ,pourtant, j’ai appliqué la MAJ avec un critère.
    MAJ : [T_STOCK]![CURRENT_STOCK]-[Formulaires]![S/F_FACTURE]![QUANTITE]
    Critère : [Formulaires]![S/F_FACTURE]![ID_TARIF]

    Par ailleurs, j’aimerais bien savoir si vous avez des formations aussi en JAVA « netbeans » pour créer des applications de gestion des stocks. En attente d’une réponse, veuillez accepter mes sincères salutations.
    Cordialement.

    1. Bonsoir Nassim,

      Je ne me suis pas encore plongée sur la gestion de stocks sur Access (c’est une application qui m’a déjà été demandée, mais, par manque de temps, toujours pas créée).
      Je ne fais pas de Java.

  36. Bonjour Lydia,
    Dans le formulaire principal, je n’arrive pas à ajouter plus de 2 types de référence, car Access m’ouvre une boîte de dialogue où il est inscrit :
    « Vous ne pouvez pas ajouter ou modifier un enregistrement, car un enregistrement associé est requis dans la table « T_Clients ».  »
    J’ai tout suivi à la lettre dans vos consignes, même avec VBA.
    Pourriez-vous m’aider ?

    1. Bonjour Morgan,

      Généralement, cela arrive dans le formulaire de factures où j’indique qu’il faut choisir un mode de paiement avant de commencer la facture, mais là, vous parlez de la table des clients. Peut-être n’avez-vous pas sélectionné de client ?

  37. Bonjour chère Lydia,
    Merci pour vos cours qui sont clairs et nets, je voulais savoir si je peux ajouter et créer des relations d’une table « stock » comportant un stock initial, stock entré, stock physique, et comment je peux créer une alerte en cas de carence d’un produit ? Merci pour votre aide.

    1. Bonjour Patrick,

      Je suis désolée, mais je ne me suis pas encore penchée sur la gestion de stocks Access. Mais je pense que vous pouvez créer une table des articles avec l’état des stocks et, avec une requête, mettre à jour le stock à chaque sortie. Puis, mettre une requête avec les carences.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

CAPTCHA
Change the CAPTCHA codeSpeak the CAPTCHA code