VBA: ouvrir un fichier (de tout type)


Le langage VBA permet d'ouvrir un fichier dans son application associée indépendamment de son type. Peu importe à partir d'où vous utilisez le VBA (Excel, Word, un fichier batch,…) et peu importe s'il s'agit d'un fichier texte, d'un document PDF ou d'une image en JPG. À chaque fois, le code VBA qui suit ouvrira le fichier demandé dans sa propre application – donc par exemple, il ouvrira un "fichier Word" en Microsoft Word.

Ceci peut être assez pratique dans des applications VBA plus complexes mais également si vous souhaitez créer une liste de fichiers à ouvrir quand vous allumez votre PC.

Un autre exemple d'utilisation peut-être l'ouverture d'un fichier après son téléchargement à partir d'Internet.

Ouvrir un fichier en VBA: comment ça marche

En pratique, on doit créer un Object qui nous permettra de lancer une application. Ensuite, on ouvre le fichier voulu à l'intérieur de cet objet. Tout cela grâce à la fonction VBA Shell.

En pratique, on ne doit pas choisir l'application nous mêmes. C'est Windows qui s'en chargera en ouvrant le fichier dans l'application qui est associée au type de fichier que l'on veut ouvrir. C'est comme double-cliquer sur un fichier dans l'Explorateur Windows. Là aussi, Windows lance l'application approprié "lui-même".

Fonction VBA pour Ouvrir un fichier dans l'application appropriée

Et voici donc le code VBA nécessaire à l'ouverture d'un fichier indépendamment de son type. Dans cet exemple, on ouvre le fichier "MonFichier.txt" qui se trouve dans le dossier "C:\MonDossier". Le fichier "MonFichier.txt" sera, en tant que fichier texte, ouvert dans le Notepad (à moins que vous n'ayez associé le suffixe ".txt" à une autre application, par exemple Notpad++).

 

 

Et voici une fonction VBA un peu plus élaborée. Elle utilise le nom et l'emplacement du fichier à ouvrir comme argument et est donc tout à fait générique. De plus, cette fonction teste si le fichier existe avant de l'ouvrir.

 

 

Exemples d'ouverture de fichiers de différents types en VBA

Voici quelques exemples pratiques. Pour pouvoir les utiliser, vous devez avoir copié le code VBA de la fonction OuvrirFichier (de la section précédente) dans un Module.

Ouvrir un fichier Word (.docx)

 

Ouvrir un fichier PDF (.pdf)

 

Ouvrir un fichier PowerPoint (.pptx)

 

Fonction VBA – façon concise

Si vous aimez le code VBA minimaliste, sachez qu'il est possible d'obtenir l'ouverture d'un fichier en une seule ligne de code VBA. Mais comme cela implique l'absence de gestion d'erreurs etc., je ne le conseille qu'à ceux "qui savent ce qu'ils font" 🙂

 

Pour aller plus loin

Si la manipulation de fichiers en VBA vous intéresse, vous trouverez sur Excel-Malin.com un tutoriel dédié à ce sujet: Manipulation basique des fichiers en VBA

Sinon, d'autres Codes sources VBA sont à votre disposition, notamment:

 

10 0

Pourrait vous intéresser

Partagez cette page...
Share on FacebookShare on Google+Share on LinkedInTweet about this on TwitterShare on RedditShare on TumblrDigg thisEmail this to someone

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée.