VBA: trouver la version d’Excel

Dans certains cas, il est nécessaire au bon fonctionnement de votre application/macro de connaître la version d'Excel dans laquelle elle est exécutée. Ceci peut servir pour déterminer les limites de lignes et colonnes disponibles ou encore la gestion des couleurs dans les Feuilles.

La fonction décrite ci-dessous va vous fournir cette information.

VersionExcel = Application.Version

 

Les différentes versions d'Excel

Comment interpréter le résultat? Le numéro que vous obtenez correspond à une version d'Excel (et donc de MS Office). Dans le tableau suivant, vous pouvez voir l'énumération de ces versions.

Version de MS Office (d'Excel)La valeur renvoyée par Application.Version
Office 977.0
Office 988.0
Office 20009.0
Office XP10.0
Office 200311.0
Office 200712.0
Office 201014.0
Office 201315.0
Office 201616.0
Office 201916.0 (!)
Office 36516.0 (!)

Remarque: comme vous pouvez le remarquer dans le tableau, la version "13.0" manque… Comme quoi, même les ingénieurs de Microsoft peuvent être superstitieux 🙂

Code VBA qui retourne l'intégrale de numéro de version

Remarque: attention au format retournée par la fonction (avec séparateur "."). Pour éviter des erreurs, mieux vaut remplacer ce "." par le séparateur de décimales – comme c'est le cas dans le code ci-dessus.

 

Code VBA pour afficher le nom de la version d'Excel dans un MessageBox

Comme vous pouvez le constater, cette fonction simple et utilisée depuis longtemps ne sait malheureusement pas distinguer les nouvelles version d'Excel (à partir de la version 2016). Si vous voulez pouvoir distinguer Excel 2016 de l'Excel 2019 et de l'Excel 365, vous devrez utiliser la fonction VBA qui suit…

Les versions modernes d'Excel: 2016, 2019 et 365

La fonction précédente donne le même résultat pour ces 3 différentes versions d'Excel (d'Office). Si vous voulez donc par exemple connaître si l'utilisateur dispose de la fonction Excel RECHERCHEX (disponible uniquement dans Excel 365), vous devrez utiliser une fonction VBA plus sophistiquée.

Je me suis permis de traduire la fonction Ken Puls (www.excelguru.ca) pour vous la proposer en français.

Cette fonction traite les anciennes versions d'Excel comme la fonction basique plus haut. Pour les nouvelles versions d'Excel, elle va vérifier les informations sur la licence Office dans les registres de Windows.

Et voilà… Maintenant vous êtes sûrs de connaître à 100% la version d'Excel installée sur l'ordinateur où vous lancez ce code.

Pour aller plus loin en VBA

Et pour finir, quelques autres articles qui pourraient vous servir…

 

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

4 commentaires sur “VBA: trouver la version d’Excel”