Fonction Excel DATEDIF (fonction cachée) : Calculer le nombre de jours, mois ou années entre deux dates

Excel dispose d’une fonction cachée pour calculer le nombre de jours, mois ou années entre deux dates.

Syntaxe : DATEDIF(date_début;date_fin;unité)

date_début : date représentant la première date, ou date de début, de la période. Les dates doivent être entrées sous forme de chaînes de texte placées entre guillemets (par exemple, « 30/01/2001 »), comme numéros de série (par exemple, 36921, qui représente le 30 janvier 2001, si vous utilisez le calendrier depuis 1900) ou sous forme de résultat d’autres formules ou fonctions (par exemple, DATEVAL(« 30/01/2001 »)).

date_fin : date représentant la dernière date, ou date de fin, de la période.

Remarque : si date_début est postérieure à date_fin, le résultat sera #NOMBRE!.

Continue reading ‘Fonction Excel DATEDIF (fonction cachée) : Calculer le nombre de jours, mois ou années entre deux dates’ »

SGBDR ACCESS : Programmer des requêtes SQL dans des macros VBA

Les requêtes SQL remplissent de nombreuses tâches concourant à l’analyse de données. Ces requêtes peuvent être utilement programmées en VBA. Cette pratique permet à la fois d’automatiser l’exécution successive de plusieurs requêtes et de modifier les requêtes à la volée pour les adapter en fonction des circonstances précises (dates, comptes, entités…).

Dans le cadre d’un projet d’analyse d’écritures comptables (mise en œuvre d’un programme de supervision des comptabilités d’un groupe de sociétés), je suis en train de réfléchir à la définition de traitements automatisés à l’aide d’ Access en remplacement d’Excel (ce projet reprend les grandes lignes du programme d’analyse d’écritures M/ATAC programmé en VBA sur Excel). En effet, le volume d’écritures comptables du groupe dépasse allègrement le million de lignes (limite actuelle d’Excel) pour atteindre environ cinq millions de lignes annuelles. Access apparaît donc comme une solution plus adaptée pour traiter de tels volumes de données (sa limite étant pour sa part de 2 Gigaoctets par base de données).

Continue reading ‘SGBDR ACCESS : Programmer des requêtes SQL dans des macros VBA’ »

MS/ACCESS, VBA : écrire dans un classeur Excel

Le résultat d’une requête SQL est aisément transférable d’ACCESS vers un classeur Excel à l’aide de la commande VBA TransferSpreadsheet.

Exemple :

La syntaxe de cette commande est la suivante : DoCmd.TransferSpreadsheet(TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA).

Paramètres :

Continue reading ‘MS/ACCESS, VBA : écrire dans un classeur Excel’ »

MS/ACCESS, VBA : créer et supprimer des requêtes

La création et la suppression de requêtes SQL à partir du VBA d’ACCESS s’opèrent respectivement à l’aide des commandes CreateQueryDef et DeleteObject.

Tout d’abord, pour la création, la commande CreateQueryDef dans l’exemple suivant crée une requête nommée par la variable NomReq avec le texte SQL contenu dans la variable TexteReq dans la base de données courante (CurrentDb).

Continue reading ‘MS/ACCESS, VBA : créer et supprimer des requêtes’ »

MS/ACCESS, VBA : tester l’existence d’un objet (requête, table…)

Il n’est pas possible de créer deux objets portant le même nom. Aussi avant de créer un objet, il est préférable de s’assurer qu’il n’existe pas déjà. ACCESS gère différentes natures d’objets : requête (Query), table (Table), formulaire (Form)… Le cas qui va être traité ici est celui des requêtes. L’exemple de code fourni ci-après est aisément adaptable à d’autres objets. Pour ce faire, il suffit, par exemple, de remplacer Query par Table pour tester l’existence d’une table.

En synthèse, le code source de la fonction ReqExiste ci-après renvoie « True » (vrai) si l’objet testé existe ou « False » (faux) dans le cas contraire.

Continue reading ‘MS/ACCESS, VBA : tester l’existence d’un objet (requête, table…)’ »

Accéder à l’environnement de développement VBA d’ACCESS

VBA (pour Visual Basic for Application) est un langage de programmation puissant qui permet d’automatiser des traitements avec les logiciels de la suite Office de Microsoft (EXCEL, ACCESS, WORD…), d’ajouter de nouvelles fonctions à ces logiciels et même de transférer des données d’une application à l’autre (publipostage Word à partir de données Excel ou ACCESS…). Les possibilités offertes par les développements VBA sont sans limite et offrent de nouvelles perspectives à l’utilisateur notamment en matière d’analyse de données.

EDI d'ACCESS

Allié à ACCESS, VBA traite inlassablement des volumes de données conséquents. Continue reading ‘Accéder à l’environnement de développement VBA d’ACCESS’ »

Nouveau règlement sur les changements de méthodes (Règlement ANC n° 2018-01)

Le règlement ANC n° 2018-01 du 20 avril 2018 modifie le plan comptable général concernant les changements de méthodes, changements d’estimation et corrections d’erreurs. Ce règlement (en cours d’homologation) sera applicable aux exercices ouverts à la date de publication de son arrêté d’homologation au journal officiel. Les modifications apportées concernent la définition des méthodes comptables, les changements de méthodes comptables, d’estimation et de modalités d’application, les corrections d’erreurs et les options fiscales.

Logo ANC

L’évolution majeure est qu’un changement de méthode à l’initiative de l’entité, qui reste limité à des cas exceptionnels, est désormais conditionné à la production d’une meilleure information financière, et non plus à la survenue d’un événement exceptionnel dans la situation du commerçant. Ainsi, une entité peut changer de méthode comptable lors d’un changement de réglementation imposée par l’ANC ou à sa propre initiative si ce changement conduit à fournir une meilleure information financière, c’est-à-dire reflétant de façon plus adaptée et plus pertinente la performance ou le patrimoine de l’entité au regard de son activité, sa situation et son environnement.

Continue reading ‘Nouveau règlement sur les changements de méthodes (Règlement ANC n° 2018-01)’ »

SQL : bien comprendre les clauses Where et Having pour ne pas les confondre

Les clauses WHERE et HAVING ont des usages en apparence similaires mais en réalité leurs rôles sont différents.

Ainsi, leurs fonctions se résument ainsi :

Continue reading ‘SQL : bien comprendre les clauses Where et Having pour ne pas les confondre’ »