Dans notre quotidien professionnel, nous devons fréquemment réaliser des tâches répétitives avec des desseins plus ou moins complexes. Par exemple, dans le cadre d’un reporting mensuel, collecter les balances d’un groupe de sociétés, les ouvrir, les mettre en forme pour enfin les analyser. Prises isolément, ces tâches ne prennent pas beaucoup de temps mais répétées, elles sont non seulement chronophages mais également sans aucune valeur ajoutée. L’automatisation de ces tâches sera utilement mise en œuvre afin de focaliser le maximum de temps homme sur la phase d’analyse de données, de loin la plus valorisante.
Sub AfficheMatrice()
Dim détenteur As Integer
Dim détenu As Integer
classeurAppli.Sheets.Add after:=Worksheets(Worksheets.Count)
With classeurAppli.Sheets(classeurAppli.Sheets.Count)
.Cells(1, 1).Value = "Matrice I-M"
For détenteur = 1 To NbEntités
For détenu = 1 To NbEntités
If détenteur = 1 Then
.Cells(1, détenu + 1).Value = Entités(détenu)
.Cells(3 + NbEntités, détenu + 1).Value = Entités(détenu)
End If
If détenu = 1 Then
.Cells(détenteur + 1, 1).Value = Entités(détenteur)
.Cells(détenteur + NbEntités + 3, 1).Value = Entités(détenteur)
End If
.Cells(détenteur + 1, détenu + 1).Value = MatriceImoinsDétentions(détenteur, détenu)
Next détenu
Next détenteur
.Cells(3 + NbEntités, 1).Value = "Matrice (I-M)^-1"
.Range("B" & 4 + NbEntités & ":" & Chr(64 + NbEntités + 1) & NbEntités * 2 + 3).FormulaArray = "=minverse(B2:" & Chr(64 + NbEntités + 1) & NbEntités + 1 & ")"
'FormulaArray équivaut à Ctrl+Maj+Entrée
For détenu = 2 To NbEntités
PourcentagesIntérêt(détenu) = Cells(4 + NbEntités, détenu + 1)
Next détenu
End With
End Sub
La phase de réflexion préalable revêt une importance primordiale. Elle consiste à modéliser le problème à résoudre, c’est-à-dire, à choisir la solution la mieux adaptée (éventuellement la plus simple à programmer et offrant le meilleur gain de temps) puis à décomposer la solution retenue en étapes élémentaires qui chacune feront l’objet d’une codification informatique.
Sur les projets les plus complexes, cette phase représente un investissement important mais loin de constituer une perte de temps, elle est la garantie du succès de la réalisation du projet. Une fois le programme terminé, les gains de temps obtenus sont largement bénéfiques.
Dans les métiers de la comptabilité, la mise en œuvre d’un programme passe généralement par le langage VBA en lien avec Excel et/ou ACCESS, car ce langage est simple à programmer et permet de traiter de conséquents volumes de données.
Il y a quelques années, je cherchais une solution pour calculer rapidement les pourcentages d’intérêt en présence de participations croisées dans le cadre de la validation des comptes consolidés de groupes de sociétés. Le calcul matriciel semblait la solution la plus adaptée. D’ailleurs, le Memento Comptes consolidés évoque la programmation en langage Basic du calcul matriciel, en se gardant toutefois bien d’en fournir une solution opérationnelle. J’avais déjà mis en œuvre cette solution pour résoudre des systèmes d’équations il y a bien longtemps. La modélisation du problème m’a permis de résoudre rapidement la phase de programmation de cette tâche.
Extrait du Memento Comptes consolidés (Editions Francis Lefebvre) :
| 4324-2 | Mise en oeuvre du calcul Grâce à des programmes informatiques, nous pouvons obtenir directement les résultats du calcul des pourcentages d’intérêts. Nous ne développons pas ci-après d’exemples de programmes informatiques. Cependant, à l’aide d’un programme de calcul matriciel des participations écrit en Basic et exploité sur un micro-ordinateur, nous obtenons la matrice suivante :
|
||||||||||||||||||||||||||||||||||||||||||
Derniers articles parBenoît RIVIERE (voir tous)
- Analyse des données comptables (FEC) : analyse de la conformité comptable des transactions et de leur dénouement - dimanche 23 novembre 2025
- L’AMF et l’AFA appellent à la vigilance sur le risque de corruption par des réseaux criminels de personnes ayant accès à des informations privilégiées - lundi 4 août 2025
- Détecter les inversions HT/TVA avec ANA-FEC2 - jeudi 31 juillet 2025
- Analyse de FEC en ligne avec ANA-FEC2 (manuel d’utilisation) - mardi 29 juillet 2025
- Rapport AFA 2024 : les contrôles comptables à ne pas négliger - samedi 5 juillet 2025



Bonjour Benoît,
Je suis étudiant en DSCG et je travaille dans le contrôle de gestion (ETI industrielle).
Je me rends compte chaque jour du gain de productivité que pourrait apporter la programmation (principalement le VBA) dans le contrôle de gestion de mon entreprise.
Je pense à me former dans le VBA, pour compléter mon cursus comptable et financier car comme vous le dites, la programmation permet de réels gains de productivité et le recentrage sur les activités créatrices de valeur.
De plus, il s’agirait d’une réelle plus-value dans mon CV et je pense que la maîtrise de la programmation pourrait rendre le travail de contrôleur de gestion plus intéressant.
Merci pour cet article !
Maxime