Gérer sa facturation avec Access (MAJ du tutoriel Créer une facture avec Access)

Publié le 05 décembre 2019 par Lydia Provin @Votreassistante

À l'occasion de la sortie de ma dernière application Access ( Gérez vos devis et factures avec Access), j'ai décidé de mettre à jour l'un de mes premiers tutoriels Access nommé Créer une facture avec Access qui était en 3 parties (découpées en 5 vidéos et qui duraient quand même 2h30 😊).

En effet, certains abonnés se retrouvent parfois confrontés à quelques soucis avec ce tutoriel, notamment la sélection après mise à jour d'un article et l'ajout d'un sous-formulaire à l'intérieur d'un sous-formulaire (Access ne le permet plus directement).

Je me suis donc dit que c'était le moment de faire un tutoriel plus succinct et plus clair (il y a 6 ans, j'étais loin d'avoir les connaissances et habitudes que j'ai désormais et je me suis spécialisée sur ce logiciel).

Avant cela, sachez que, dans mon application Access, vous aurez davantage de fonctionnalités que dans le tutoriel que nous allons aborder, telles que :

  • La possibilité d'utiliser jusqu'à 4 taux de TVA différents ;
  • La possibilité d'ajouter une remise par article ou globale, ainsi qu'un escompte ;
  • La numérotation automatique des devis et factures ;
  • La transformation de devis en facture ou facture d'avance/d'acompte ;
  • Le suivi des devis sans réponse ou des factures impayées ;
  • La liste des devis et factures établis sur la fiche de chaque prospect/client ;
  • L'envoi des devis et factures par email via Outlook ainsi que leurs relances (si vous souhaitez savoir comment envoyer des emails via Access, j'ai créé un module à ce sujet) ;
  • Le suivi des achats ;
  • Le suivi du chiffre d'affaires et de la TVA ;
  • Les statistiques clients et produits.

Pourquoi créer ses factures sur Access ?

Avant de se plonger dans la création de cette base de données, il est bon de rappeler pourquoi je préconise Access. Cela n'est pas un secret, j'affectionne particulièrement Access, car ses relations et son interface permettent de créer presque n'importe quelle application et évitent la redondance d'information qui est une source d'erreur et de perte de temps comme cela peut être le cas avec Excel couplé à Word parfois. Alors si vous n'êtes pas sur Mac, je vous conseille fortement d'utiliser Access 😊. Une fois la structure bien définie et les objets correctement créés, vous pourrez éditer vos devis ou factures en 3 minutes (création de la fiche du prospect ou client comprise) et obtenir un réel suivi !

Création du fichier

Pour commencer, ouvrez Access et créez une nouvelle base de données vierge en cliquant sur Base de données vide :

Saisissez un nom pour votre application ( Gestion des factures par exemple), sélectionnez l'emplacement où l'enregistrer en cliquant sur et cliquez sur Créer .

Création des tables pour créer une facture avec Access

Pour créer des factures avec Access, vous avez besoin d'un minimum de tables pour stocker vos données :

  • La table Clients que l'on nommera T_Clients pour stocker les coordonnées des clients ;
  • La table Tarifs que l'on nommera T_Tarifs pour stocker les tarifs à utiliser ;
  • La table Factures que l'on nommera T_Factures pour stocker les " en-têtes " des factures ;
  • La table Détails de la facture que l'on nommera T_Factures_details pour stocker les éléments qui composeront les factures (lignes d'articles ou de prestations).

Je ne vais pas rentrer dans le détail du pourquoi créer cette table avec ces types de données et la relier de cette façon à une autre, car j'ai créé un module complet dénommé Bien structurer sa base de données Access (extrait de la Méthode T.R.I.PL.E. qui est ma formation complète sur Access) où je vous montre comment modéliser une base de données, créer les tables et créer les relations entre elles.

Création de la table Clients

Par défaut, Access crée une première table. Passez en Mode Création en faisant un clic droit sur l'onglet Table1 > Mode Création . Access vous demande un nom : saisissez T_Clients et cliquez sur OK.

Par défaut, le premier champ est nommé et est de type NuméroAuto. C'est aussi la clé primaire. Renommez-le simplement en ID_Client.

Sur les lignes suivantes, créez les champs :

Laissez-les tous en type de données Texte court.

Dans les propriétés du champ ID_Client, saisissez, à la ligne Légende, ID Client et, pour le champ Raison_sociale, saisissez Raison sociale.

Faites un clic droit sur l'onglet T_Clients > Mode Feuille de données (confirmez l'enregistrement) et vérifiez que vous obtenez le même résultat :

Si tel est le cas, votre table Clients est prête. Faites un clic droit sur l'onglet T_Clients > Fermer .

Création de la table Tarifs

Dans l'onglet Créer, cliquez sur Création de table et créez les champs suivants les uns en dessous des autres :

Modifiez leur Légende respective comme précédemment, à savoir ID Tarif, Désignation et Prix unitaire.

Changez le type du champ ID_Tarif en NuméroAuto et celui du Prix unitaire en Monétaire.

Enfin, désignez le champ ID_Tarif comme clé primaire en le sélectionnant et en cliquant sur Clé primaire dans l'onglet Création : une petite clé apparaît alors à gauche du champ.

Passez en Mode Feuille de données en enregistrant cette table sous le nom T_Tarifs et assurez‑vous d'obtenir le même résultat :

Si tel est le cas, votre table Tarifs est prête. Faites un clic droit sur l'onglet T_Tarifs > Fermer .

Création de la table Factures

Procédez de la même manière pour créer la table pour stocker les en-têtes de facture avec les champs suivants :

  • ID_Facture avec comme Légende ID Facture ;
  • ID_Client avec comme Légende Client ;
  • Numero_facture avec comme Légende Numéro de la facture ;
  • Date_facture avec comme Légende Date de la facture ;
  • Mode_paiement avec comme Légende Mode de paiement.

Sélectionnez le type de données NuméroAuto pour le champ ID_Facture et définissez-le comme clé primaire, puis choisissez le type de données Date/Heure pour le champ Date_facture avec comme Format (toujours dans les propriétés du champ) Date, abrégé et, comme Valeur par défaut, Date().

Pour le champ Mode_paiement, choisissez le type de données Assistant Liste de choix... Dans la fenêtre qui s'affiche, sélectionnez Je taperai les valeurs souhaitées et cliquez sur Suivant, sous Col1, saisissez les éléments suivants les uns en dessous des autres : Virement, Chèque et Espèces. Cliquez sur Suivant, cochez Limiter à la liste et cliquez sur Terminer. Dans les propriétés du champ, à l'onglet Liste de choix, modifiez la ligne Autoriser les modifications de Oui à Non.

Enfin, pour le champ ID_Client, nous allons faire d'une pierre deux coups en créant une liste qui sera alimentée directement par la table Clients et en créant une relation Un-à-plusieurs entre ces 2 tables. Pour cela, sélectionnez également le type de données Assistant Liste de choix... Dans la fenêtre qui s'affiche, sélectionnez cette fois-ci Je veux que le champ Liste de choix extraie les valeurs d'une autre table ou requête et cliquez sur Suivant. Choisissez la table T_Clients et cliquez sur Suivant, double-cliquez sur Raison_sociale et cliquez sur Suivant, sélectionnez de nouveau Raison_sociale dans la liste déroulante et cliquez sur Suivant deux fois, cochez Activer l'intégrité des données et Suppression en cascade avant de cliquer sur Terminer. Access vous demande d'enregistrer la table : nommez-la T_Factures.

Vous venez de créer une relation que nous allons visualiser après la création de toutes les tables.

Dans les propriétés de ce champ, à l'onglet Liste de choix, modifiez la valeur 2,54 cm en 5 cm aux lignes Largeurs colonnes et Largeur liste.

Passez en Mode Feuille de données et vérifiez que vous obtenez le même résultat :

Si tel est le cas, votre table Factures est prête. Faites un clic droit sur l'onglet T_Factures > Fermer .

Création de la table Détails de la facture

Une dernière fois, procédez de la même façon pour créer la table pour stocker les détails des factures avec les champs suivants :

  • ID_Facture_detail avec comme Légende ID Facture détail ;
  • ID_Facture avec comme Légende Facture ;
  • ID_Tarif avec comme Légende Tarif ;
  • Designation avec comme Légende Désignation ;
  • Quantite avec comme Légende Quantité ;
  • Prix_unitaire avec comme Légende Prix unitaire.

Sélectionnez le type de données NuméroAuto pour le champ ID_Facture_detail et définissez‑le comme clé primaire. Choisissez le type de données Numérique pour le champ Quantité avec 0 comme Décimales dans ses propriétés. Enfin, attribuez le type de données Monétaire pour le champ Prix_unitaire.

Pour les champs ID_Facture et ID_Tarif, procédez de la même manière que pour le champ ID_Client de la table T_Factures en utilisant l' Assistant Liste de choix.

Pour le champ ID_Facture, choisissez les champs Numero_facture et Date_facture de la table T_Factures et, pour le champ ID_Tarif, choisissez les champs Designation et Prix_unitaire de la table T_Tarifs. Cochez Activer l'intégrité des données avec la Suppression en cascade pour les 2 champs et enregistrez la table sous le nom T_Factures_details. Dans les propriétés de ces champs, à l'onglet Liste de choix, vous pouvez modifier la ligne Largeurs colonnes et Largeur liste si le texte des listes est tronqué.

Passez en Mode Feuille de données et vérifiez que vous obtenez le même résultat :

Si tel est le cas, votre table Détails de la facture est prête. Faites un clic droit sur l'onglet T_Factures_details > Fermer .

Modification des relations entre les tables Access

Pour visualiser et modifier les relations créées, rendez-vous à l'onglet Outils de base de données et cliquez sur Relations . Cliquez sur Afficher toutes les relations si les 4 tables ne sont pas affichées :

Double-cliquez sur chacune des 3 relations pour cocher la case Mettre à jour en cascade les champs correspondants avant de cliquer sur OK. Vous constaterez, au bas de chaque fenêtre, que le type de relation est Un-à-plusieurs.

Nos relations indiquent qu'un client pourra avoir plusieurs factures et qu'une facture pourra contenir plusieurs éléments (articles ou prestations) qui utiliseront les tarifs de la table des tarifs.

Cliquez sur Fermer et confirmez l'enregistrement (la question vous sera posée seulement si vous avez affiché les tables ou les avez déplacées).

Création des formulaires pour créer une facture avec Access

Pour créer vos clients, tarifs et factures, vous allez utiliser des formulaires et sous-formulaires, car on ne saisit pas dans des tables.

Création des formulaires principaux

Création du formulaire des tarifs

Dans le volet de navigation, placez-vous sur la table T_Tarifs et, dans l'onglet Créer, cliquez sur Assistant Formulaire . Dans la fenêtre, double-cliquez sur Designation et Prix_unitaire. Puis, cliquez sur Suivant deux fois, modifiez le nom du formulaire en le nommant F_Tarifs avant de cocher Modifier la structure du formulaire et de cliquer sur Terminer.

Lorsque vous êtes en Mode Création du nouveau formulaire, modifiez, dans l'onglet Format de la Feuille de propriétés :

Nous allons ajouter une liste déroulante pour rechercher un tarif en vue de le modifier ou de le supprimer, ainsi que des boutons pour ajouter ou supprimer un tarif et fermer le formulaire.

Pour ajouter une liste déroulante, cliquez sur Zone de liste déroulante dans les Contrôles de l'onglet Création. Faites un clic dans la partie En-tête de formulaire afin que l'assistant s'affiche (s'il ne s'affiche pas, assurez-vous que le bouton Utiliser les Assistants Contrôle soit activé sous la liste des contrôles).

Dans cette fenêtre, choisissez Rechercher un enregistrement dans mon formulaire basé sur la valeur que j'ai sélectionnée dans la liste déroulante et cliquez sur Suivant, double‑cliquez sur les champs Designation et Prix_unitaire et cliquez sur Suivant deux fois. Saisissez le nom Rechercher_tarif avant de cliquer sur Terminer. Vous pouvez ensuite modifier l'étiquette pour mettre la Légende Rechercher un tarif.

Même si dans ma formation complète sur Access je ne préconise pas d'utiliser les macros, nous allons les utiliser pour ajouter des boutons cliquables, car c'est le moyen le plus rapide pour créer des petites actions grâce à l'assistant. Si vous souhaitez débuter en VBA pour Access, je propose également un module pour bien démarrer dans ce langage.

Pour créer un bouton sur le formulaire, cliquez sur Bouton (toujours dans les Contrôles de l'onglet Création) et faites un clic dans la partie Détail cette fois-ci. Dans l'assistant, choisissez Operations sur enreg. > Ajouter un nouvel enregistrement, cliquez sur Suivant deux fois et nommez le bouton Ajouter avant de cliquer sur Terminer.

Faites de même avec le bouton de suppression en choisissant Opérations sur enreg. > Supprimer un enregistrement et en le nommant Supprimer ainsi que pour le bouton de fermeture en sélectionnant Opérations sur formulaire > Fermer un formulaire et en le nommant Fermer.

Appliquez ensuite la mise en forme de votre choix à votre formulaire dont voici un exemple :

Une fois terminé, vérifiez qu'il vous convient en passant en Mode Formulaire . Si tel est le cas, cliquez sur la croix de l'onglet F_Tarifs en confirmant l'enregistrement.

Création du formulaire des clients

Placez-vous maintenant sur la table T_Clients dans le volet de navigation et, dans l'onglet Créer, cliquez sur Assistant Formulaire . Dans la fenêtre, double-cliquez sur tous les champs sauf ID_Client. Puis, cliquez sur Suivant deux fois et modifiez le nom du formulaire en le nommant F_Clients avant de cocher Modifier la structure du formulaire et de cliquer sur Terminer.

Lorsque vous êtes en Mode Création du nouveau formulaire, modifiez, dans l'onglet Format de la Feuille de propriétés :

Ici, aussi, nous allons ajouter une liste déroulante de recherche et des boutons.

Cliquez sur Zone de liste déroulante dans les Contrôles de l'onglet Création. Faites un clic dans l' En-tête de formulaire et créez-la de la même façon que pour le formulaire des tarifs en choisissant cette fois le champ Raison_sociale. Nommez l'étiquette Rechercher_client et modifiez sa Légende en Rechercher un client.

Créez ensuite les 3 mêmes boutons que pour le formulaire des tarifs, à savoir Ajouter, Supprimer et Fermer avec le contrôle Bouton .

De nouveau, appliquez la mise en forme de votre choix à votre formulaire dont voici un exemple :

Une fois terminé, vérifiez qu'il vous convient en passant en Mode Formulaire. Si tel est le cas, repassez en Mode Création pour ajouter le premier sous-formulaire.

Création des sous-formulaires

Création du sous-formulaire des factures

Pour ajouter le sous-formulaire pour créer des factures à chaque client, cliquez sur Sous‑formulaire/Sous-état dans les Contrôles de l'onglet Création. Faites un clic dans la partie Détail afin d'afficher l' Assistant Sous-formulaire.

Dans cette fenêtre, laissez la case Utiliser les tables et les requêtes existantes cochée puisque le formulaire n'est pas encore créé et cliquez sur Suivant. Dans la liste, sélectionnez Table : T_Factures, double-cliquez sur les champs Numero_facture, Date_facture et Mode_paiement et cliquez sur Suivant. Étant donné qu'une seule relation existe entre ces 2 tables, vous n'avez qu'un choix possible, cliquez sur Suivant, puis nommez le formulaire SF_Factures et cliquez sur Terminer.

Pour faciliter la modification, nous allons ouvrir le sous-formulaire de manière indépendante (pas avec le formulaire principal ouvert). Pour cela, fermez le formulaire en l'enregistrant et ouvrez SF_Factures par un clic droit dessus > Mode Création.

Dans la Feuille de propriétés, modifiez, dans l'onglet Format :

  • Légende SF_Factures en Sous-formulaire Factures ;
  • Affichage par défaut Feuille de données en Formulaire unique.

Ajoutez un Bouton pour créer une nouvelle facture comme nous l'avons fait précédemment pour la création d'un client et d'un tarif. Si vous le souhaitez, vous pouvez en ajouter un aussi pour la suppression d'une facture, mais le sélecteur peut être utilisé à cet effet.

De nouveau, appliquez la mise en forme de votre choix à votre sous-formulaire dont voici un exemple :

Une fois terminé, vérifiez qu'il vous convient en passant en Mode Formulaire. Si tel est le cas, repassez en Mode Création pour ajouter le dernier sous-formulaire.

Création du sous-formulaire des détails de la facture

Pour ajouter le sous-formulaire dans le but d'ajouter des lignes à chaque facture (ligne d'article ou de prestation de service), procédez de la même manière que précédemment. Dans l' Assistant Sous‑formulaire, laissez la case Utiliser les tables et les requêtes existantes cochée et cliquez sur Suivant. Dans la liste, sélectionnez Table : T_Factures_details, double-cliquez sur les champs ID_Tarif, Designation, Quantite et Prix_unitaire et cliquez sur Suivant. Ici, aussi, une seule relation existe entre ces 2 tables, cliquez donc sur Suivant, puis nommez le formulaire SF_Factures_details et cliquez sur Terminer.

De nouveau, pour faciliter la modification, nous allons ouvrir le sous-formulaire de manière indépendante. Fermez le formulaire en l'enregistrant et ouvrez SF_Factures_details par un clic droit dessus > Mode Création.

Dans la Feuille de propriétés, modifiez, dans l'onglet Format :

  • Légende SF_Factures en Sous-formulaire Factures détails ;
  • Affichage par défaut Feuille de données en Formulaires continus.

Déplacez les étiquettes (les libellés) dans la partie En-tête de formulaire par un couper‑coller ( Ctrl + X et Ctrl + V) et placez les zones de texte en dessous des titres toujours dans la partie Détail afin que cela ressemble à un tableau. Pour le reste, appliquez la mise en forme de votre choix dont voici un exemple :

Une fois terminé, vérifiez qu'il vous convient en passant en Mode Formulaire.

Ajout de la procédure événementielle pour la sélection des tarifs

Avant de fermer ce sous-formulaire, nous allons ajouter un code VBA pour inscrire automatiquement la Désignation et le Prix unitaire dans leurs champs respectifs dès qu'un tarif sera sélectionné.

Sélectionnez la zone de texte ID_Tarif et, dans la Feuille de propriétés, à l'onglet Événement, sur la ligne Après MAJ, cliquez sur . Double-cliquez sur Générateur de code et saisissez à l'intérieur de la procédure ce code avant de refermer la fenêtre VBA :
Designation = ID_Tarif.Column(1)
Prix_unitaire =ID_Tarif.Column(2)

Ces 2 lignes vont rechercher les valeurs des colonnes 1 et 2 de la liste déroulante ID_Tarif.

Pour que cela fonctionne, il est impératif que votre champ ID_Tarif contienne 3 colonnes (onglet Format > Nbre colonnes) et que le contenu reprenne ID_Tarif, Designation et Prix_unitaire (onglet Données > Contenu). Toutefois, cela devrait être le cas si vous avez bien suivi les étapes de la création de la table T_Factures_details.

Ajout des calculs des totaux

Pour faire la multiplication de la Quantité par le Prix unitaire et connaître le montant total pour chaque enregistrement, nous allons créer un champ calculé. Ajoutez une Zone de texte dans la partie Détail dont vous déplacerez l'étiquette dans la partie En-tête de formulaire et que vous renommerez Total. Dans le nouveau contrôle, saisissez =[Quantite]*[Prix_unitaire] et, dans la Feuille de propriétés, à l'onglet Format, choisissez le Format Monétaire.

Pour obtenir le total de ce champ, créez de nouveau une Zone de texte, dans la partie Pied de formulaire, pour y saisir =Somme([Quantite]*[Prix_unitaire]). Attribuez-lui également un Format Monétaire.

Enfin, modifiez la mise en forme des nouvelles zones de texte et de leurs étiquettes comme vous le souhaitez.

Une fois la création du sous-formulaire terminée, fermez-le en l'enregistrant et ouvrez le formulaire F_Clients pour vérifier la visibilité des sous-formulaires. S'ils sont tronqués ou mal disposés, passez en Mode Création et procédez aux modifications.

Création de l'état pour visualiser une facture avec Access

Création de l'état Factures

Dans le volet de navigation, placez-vous sur la table T_Clients et, dans l'onglet Créer, cliquez sur Assistant État . Pour cet état, nous allons avoir besoin de toutes les tables sauf celles des tarifs :

  • Sélectionnez tous les champs sauf ID_Client de la table T_Clients;
  • Sélectionnez les champs Numero_facture, Date_facture et Mode_paiement de la table T_Factures;
  • Sélectionnez les champs Designation, Quantite et Prix_unitaire de la table T_Factures_details.

Cliquez sur Suivant.

Si vos relations sont correctement créées, vous devriez obtenir cette disposition :

Cliquez sur Suivant 4 fois. À la dernière étape, nommez l'état E_Factures et cliquez sur Terminer en cochant Modifier la structure de l'état.

Pour que l'état ressemble le plus possible à une facture, de nombreux changements doivent être opérés :

  1. Supprimez l'étiquette E_Factures de l'En-tête état en le sélectionnant et en appuyant sur la touche Suppr;
  2. Cliquez sur l'En-tête état et, dans la Feuille de propriétés, à l'onglet Format, cliquez sur au bout de la ligne Couleur fond et sélectionnez Automatique;
  3. Supprimez les étiquettes Raison sociale, Adresse, CP, Ville ainsi que leurs zones de texte correspondantes ;
  4. Créez une zone de texte en cliquant sur Zone de texte dans les Contrôles de l'onglet Création et en la plaçant dans la partie En-tête état. Supprimez son étiquette et saisissez dans la zone : =[Raison_sociale] & Car(13) & Car(10) & [Adresse] & Car(13) & Car(10) & [CP] & " - " & [Ville]

Cela vous permettra d'avoir toutes les coordonnées du client avec des retours à la ligne dans un seul champ qui s'adaptera à son contenu du moment que, dans l'onglet Format de la Feuille de propriétés de ce champ, vous mettez les propriétés Auto extensible et Auto réductible à Oui ;

    Pour les numéros de facture, dates de facture et modes de paiement, faites exactement la même chose que pour les coordonnées, à savoir créer 3 zones de texte (sans étiquette), dans l'En-tête état, avec respectivement ces informations :
  • ="Numéro de la facture : " & [Numero_facture]
  • ="Date de la facture : " & [Date_facture]
  • ="Mode de paiement : " & [Mode_paiement]
  1. Placez les étiquettes Désignation, Quantité et Prix unitaire dans En-tête de groupe ID_Facture et déplacez les zones de texte correspondantes vers la gauche ;
  2. Réduisez la partie En-tête de page au minimum ;
  3. Dans l'onglet Création, cliquez sur Regrouper et trier et, dans le nouveau panneau en bas de l'écran, cliquez sur la croix en bout de ligne de Regrouper sur ID_Facture, puis refermez le panneau ;
  4. Supprimez le contrôle de date (=Maintenant()) et le contrôle du nombre de pages (= "Page " & [Page] & " sur " & [Pages]) dans le Pied de page avant de réduire au maximum cette partie ;
  5. Dans la Feuille de propriétés, lorsque État est sélectionné dans la liste déroulante, à l'onglet Format, réduisez sa Largeur à 19,7 cm qui est le maximum autorisé pour les marges par défaut (format A4). Si le champ s'actualise avec une valeur plus grande, c'est que vos contrôles sont trop à droite, déplacez-les vers la gauche et remodifiez la Largeur.

Supprimez ensuite les étiquettes et zones de textes de ces champs qui étaient présentes avant ces ajouts.

De même, remplacez l' Affichage par défaut Mode État par Aperçu avant impression.

Ajout des calculs des totaux

Une nouvelle fois, nous avons besoin d'ajouter des champs calculés comme dans le formulaire. Ajoutez une première Zone de texte dans la partie Détail (dont vous déplacerez l'étiquette dans la partie En-tête de groupe ID_Facture) avec le calcul suivant : =[Quantite]*[Prix_unitaire].

Puis, ajoutez une seconde Zone de texte dans la partie Pied état avec le calcul suivant : =Somme([Quantite]*[Prix_unitaire]).

Attribuez un Format Monétaire à ces 2 contrôles.

Si vous souhaitez ajouter un logo, cliquez sur Insérer une image > Parcourir dans l'onglet Création. Vous sélectionnerez l'image sur votre ordinateur avant d'effectuer un clic sur l'état et de redimensionner l'image si besoin.

Appliquez, ensuite, la mise en forme de votre choix à votre état pour l'impression des factures dont voici un exemple :

Une fois la mise en forme et mise en page terminées, vérifiez que l'état vous convient en passant en Mode Aperçu avant impression en cliquant sur l'onglet E_Factures. Pour repasser en Mode Création, cliquez sur Fermer l'aperçu avant impression . Si cela vous convient, fermez l'état en l'enregistrant.

Ajout d'un bouton pour afficher la facture correspondante sur le formulaire des factures

Comme nous l'avons déjà vu dans un précédent tutoriel, vous pouvez cliquer sur un bouton pour ouvrir un état avec un enregistrement spécifique.

Pour cela, ouvrez le formulaire SF_Factures en Mode Création et créez un bouton de contrôle comme nous l'avons déjà fait, mais n'utilisez pas l'assistant, fermez-le en cliquant sur Annuler.

Dans la Feuille de propriétés, à l'onglet Événement, cliquez sur à la ligne Au clic et double‑cliquez sur Générateur de code pour saisir :
DoCmd.OpenReport "E_Factures", acViewPreview, , "ID_Facture=" & ID_Facture

Ce code ouvrira l'état E_Factures en Mode Aperçu avant impression avec comme critère que le champ ID_Facture du formulaire soit égal au champ ID_Facture de l'état (nous avons choisi de ne pas afficher ces champs sur ces objets, mais ils existent bien dans leurs sources). Fermez la fenêtre VBA et le formulaire en l'enregistrant.

En allant plus loin, vous pouvez également envoyer directement la facture à votre client par email.

Création de la page d'accueil de l'application Access

Création du formulaire d'accueil

Créez un formulaire vierge en cliquant sur Création de formulaire dans l'onglet Créer.

Ajoutez ensuite deux boutons de contrôle : l'un ouvrant le formulaire des tarifs et l'autre celui des clients et donc des factures. Pour cela, dans l' Assistant Bouton de commande, choisissez Opérations sur formulaire > Ouvrir un formulaire, sélectionnez alternativement F_Clients et F_Tarifs, nommés respectivement Clients et Tarifs, dont vous choisirez l'option Ouvrir le formulaire et afficher tous les enregistrements.

Dans la Feuille de propriétés, lorsque Formulaire est sélectionné, modifiez, dans l'onglet Format :

Vous pouvez utiliser le logo que vous avez inséré dans l'état des factures en cliquant sur Insérer une image et en choisissant l'image déjà ajoutée avant de faire un clic sur le formulaire.

Appliquez la mise en forme de votre choix à votre menu dont voici un exemple :

Une fois terminé, vérifiez qu'il vous convient en passant en Mode Formulaire. Si tel est le cas, enregistrez-le en cliquant droit sur son onglet > Enregistrer et nommez-le F_Menu. Repassez en Mode Création, modifiez sa Légende en Menu dans ses propriétés et fermez-le en l'enregistrant.

Définition de la page d'accueil

Pour finaliser cette application, allez dans le menu Fichier > Options > Base de données active. Indiquez un titre si vous le souhaitez dans Titre de l'application et choisissez F_Menu dans la liste Afficher le formulaire. Cliquez sur OK et fermez votre application avant de la rouvrir et d'activer le contenu si besoin.

Il ne vous reste plus qu'à vérifier que votre nouvelle application fonctionne correctement 😊.

Une formation est en préparation pour vous enseigner notamment comment masquer l'interface d'Access, sécuriser une application (avec ou sans mode multi-utilisateur), la mettre en réseau, améliorer ses performances, etc.

Pour acquérir une application Access prête à l'emploi pour gérer vos devis et factures, rendez‑vous sur cette page et, si vous préférez un développement sur-mesure, rendez-vous sur celle-ci.

Téléchargez " Gérer sa facturation avec Access (MAJ du tutoriel Créer une facture avec Access) " au format PDF