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 :
8 | Excel 97 (Mac : 98) |
9 | Excel 2000 (Mac : 2001) |
10 | Excel 2002 |
11 | Excel 2003 (Mac : 2004) |
12 | Excel 2007 (Mac : 2008) |
14 | Excel 2010 (Mac : 2011) |
15 | Excel 2013 (Mac : 2016) |
16 | Excel 2016 |
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 !