Astuce VBA : effectuer une action selon la version d'Excel

Toutes les fonctionnalités d'Excel disponibles avec la dernière version d'Excel ne sont pas forcément utilisables avec les anciennes versions.

Dans certains cas, il peut donc être utile d'effectuer une action différente en fonction de la version d'Excel de l'utilisateur, à l'aide de Val(Application.Version) qui renvoie (le numéro de) la version d'Excel.


Les versions d’Excel

Voici les numéros des versions d'Excel à utiliser pour effectuer des tests :

8Excel 97 (Mac : 98)
9Excel 2000 (Mac : 2001)
10Excel 2002
11Excel 2003 (Mac : 2004)
12Excel 2007 (Mac : 2008)
14Excel 2010 (Mac : 2011)
15Excel 2013 (Mac : 2016)
16Excel 2016, 2019, 365

Exemple d'utilisation

Bien souvent, lorsqu'il est nécessaire d'effectuer une action différente en fonction de la version d'Excel de l'utilisateur, l'action doit être différente pour les versions d'Excel inférieures à 2007.

Voici le code que vous pouvez utiliser pour faire cela :

If Val(Application.Version) < 12 Then
    'Si version d'Excel inférieure à 2007
Else
    'Si version d'Excel égale à 2007 ou supérieure
End If

Si vous ne voulez pas être dans la situation où ce code fonctionne parfaitement chez vous mais bug chez un autre utilisateur qui a pourtant la même version d'Excel, n'oubliez pas d'ajouter la fonction Val comme sur cet exemple !