IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

VBA Excel - Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier,
Un billet blog de Philippe Tulliez

Le , par Philippe Tulliez

0PARTAGES

Introduction
Lorsqu'on travaille avec des fichiers dans un environnement de programmation, une question fondamentale se pose souvent : comment savoir si un fichier existe avant de tenter d'y accéder ? Cette interrogation, bien que simple en apparence, est cruciale pour éviter les erreurs et les exceptions inattendues dans nos programmes. Dans le monde de la programmation VBA (Visual Basic for Applications), cette question prend une importance particulière. En effet, VBA est souvent utilisé pour automatiser des tâches liées aux fichiers dans des applications comme Excel, Word et Access.

Dans cet article, nous allons explorer une fonction générique en VBA qui permet de vérifier l'existence d'un fichier avant d'essayer de l'ouvrir, de le lire, de l'écrire ou de le supprimer. Cette fonction renvoie simplement True si le fichier existe, et False dans le cas contraire. Bien que petite, cette fonction est incroyablement utile et peut grandement améliorer la robustesse de vos scripts VBA. Alors, plongeons dans le code et voyons comment cela fonctionne.

Petite précision et merci à Laurent_Ott de m'avoir signalé cet oubli, si un fichier est caché, la fonction IsFileExistFullName renverra False

Code de la fonction
L'argument FullName doit contenir le nom et le chemin complet du fichier
Code vba : Sélectionner tout
1
2
3
4
Function IsFileExist(FullName As String) As Boolean 
  ' Vérifie l'existence d'un fichier 
  IsFileExist = Dir(FullName) <> "" 
End Function

Exemple d'une procédure VBA Excel qui l'invoque
Dans cet exemple, nous allons invoquer la fonction IsFileExist pour vérifier l'existence du fichier nommé "Bilan". Ce fichier doit être sauvegardé dans le répertoire où se trouve le fichier Excel contenant le code VBA. Si le fichier existe déjà, une boîte de dialogue s'ouvrira pour demander à l'utilisateur s'il souhaite remplacer le fichier existant.
Code vba : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub Main() 
  Const FileName As String = "Bilan.xlsx" 
  Const Message As String = "Voulez-vous remplacer le fichier" 
  Dim fn As String  ' Nom complet du fichier 
  Dim fl As Boolean 
  Dim e As Byte 
  fn = ThisWorkbook.Path & Application.PathSeparator & FileName 
  ' 
  fl = Not IsFileExist(fn) 
  If Not fl Then 
     fl = (MsgBox(Message, vbYesNo + vbDefaultButton2) = vbYes) 
  End If 
  If fl Then 
   ' Code pour exporter ou sauver le fichier 
  End If 
End Sub

Explorez davantage la fonction Dir avec mes autres billets

Une erreur dans cette actualité ? Signalez-nous-la !