L’analyse de données nécessite fréquemment l’ouverture de fichiers. Lorsque les fichiers ne sont pas stockés dans le même dossier que l’application, le programme doit pointer sur le dossier spécifique. Quand ces données sont localisées dans un sous-dossier de l’application, il suffit d’ajouter le nom de ce dossier au chemin d’accès à l’application (dans le cas d’EXCEL, ce chemin est fourni par « ThisWorkbook.Path »). Par contre, si les données sont stockées dans un dossier situé en amont, il est nécessaire de remonter l’arborescence, ce qui est moins évident à programmer.
Exemple d’arborescence : dossiers de commissariat aux comptes stockés sur un serveur
Prenons l’exemple d’une arborescence où pour chaque client, nous avons en sous-dossiers :
- les dossiers exercice (2009, 2010…) avec dans chacun d’eux, l’application d’audit de l’année (dossier AppliAUDIT),
- et le dossier permanent (DP).
Exemple d’arborescence :
| NIVEAU 1 | NIVEAU 2 | NIVEAU 3 |
| \Nom du client | ||
| \DE 31122009 | ||
| \DE31122010 | ||
| \AppliAUDIT | ||
| [ …] | ||
| \DP |
Pour que l’application d’audit (dossier AppliAUDIT) accède au DP (pour collecter les informations permanentes nécessaires à la constitution du dossier exercice), il est nécessaire de remonter de deux niveaux dans l’arborescence.
Fonction permettant de remonter dans l’arborescence du système de fichiers
La fonction suivante remonte d’un cran dans l’arborescence. Dans le cas qui nous occupe, pour qu’elle remonte de deux crans, il suffit de l’appeler deux fois.
Code-source de la fonction :
Function CheminAmont(chemin as String)
CheminAmont = Mid(chemin, 1, InStrRev(chemin, "\") - 1)
End Function
Explication de la fonction :
Cette fonction retourne (« CheminAmont= ») la partie (« Mid(…) ») du chemin (stocké dans la variable « chemin ») entre le premier caractère (« ,1, ») et le premier « \ » (“InStrRev(…)“) situé le plus à droite.
Dans notre exemple, la variable « chemin » est égal à « C:\Nom du client\DE 31122010\AppliAUDIT ». L’appel de la fonction générera le résultat suivant : « C:\Nom du client\DE 31122010 ».
Pour accéder au DP, il suffit d’exécuter le code suivant :
CheminDP= CheminAmont(CheminAmont(ThisWorkbook.Path)) & "\DP"
Approfondir le sujet : programmer en VBA
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


