VBA : connaitre le service pack office installé

Bonjour à tous

j'ai fait un fichier excel contenant des macros et des commentaires dans des cellules...

ce fichiers est utilisé par plusieurs personnes qui ont des différentes versions MS office...

Certains utilisateurs rencontre une difficulté à l'ouverture du fichier :

capture

Après plusieurs essais je connais enfin la source de ce problème... il provient des utilisateurs qui ont un MS office 2007, mais qui n'ont pas mis a jour leur logiciel.. pour que cela fonctionne il faut que le SP3 de MS office 2007 soit installé...

donc ma question y-a-t-il moyen de tester si le SP3 est installé sur la machine pour cette version d'office ??

merci pour vos retours...

fred

Bonjour,

ceci est sur le net depuis un moment , en cherchant 3 minutes:

c'est déjà un début, pour la SP c'est autre chose....

Sub VersionOfficeUtilisee()
'par: Excel-Malin.com (http://excel-malin.com)
NumeroVersionOffice = CStr(Application.Version)

Select Case NumeroVersionOffice
   Case "7.0": NomVersionOffice = "Office 97"
   Case "8.0": NomVersionOffice = "Office 98"
   Case "9.0": NomVersionOffice = "Office 2000"
   Case "10.0": NomVersionOffice = "Office XP"
   Case "11.0": NomVersionOffice = "Office 2003"
   Case "12.0": NomVersionOffice = "Office 2007"
   Case "14.0": NomVersionOffice = "Office 2010"
   Case "15.0": NomVersionOffice = "Office 2013"
   Case "16.0": NomVersionOffice = "Office 2016"
   Case Else
End Select

MsgBox "Vous utilisez " & NomVersionOffice & "."
End Sub

edit pour le SP installé:

http://www.astuceshebdo.com/2010/05/office-2007-comment-savoir-quel-service.html

P.

Bonjour Patrick

merci pour ta reponse

Pour la version d'office je sais faire déjà....

comme expliqué ici :

https://www.excel-pratique.com/fr/astuces_vba/action_differente_selon_version_excel.php

pour savoir quel service Pack je sais aussi ... j'ai même fait une notice a destination des utilisateurs.... mais comme il ne savent pas lire une notice... ils me contacts tous pour me dire "ça marche pas......" donc comme j'en ai marre que les gens ne savent pas lire une feuille avec 3 images et deux paragraphes de 3 lignes, je voudrais leur faire afficher un pop-up pour leur dire qu'ils n'ont pas le bon service pack d'installé....

Fred

Bonjour,

As-tu regardé avec application.build ?

Effectue un test sur différents postes et vois les résultats.

Cdlt.

Bonjour Jean-Eric

merci pour ce début de solution ....

voici donc un bout de code qui permet de tester normalement la version (pour ceux que cela interesse), cela marche sur ma machine qui est en SP3..... quand j'aurais d'autre machines sous la mains je ferais d'autres tests

Merci

Fred

Sub DetermineExcelServicePack()
Dim sReturn As String
If Application.Version = "12.0" Then
    If Application.Build < 6214 Then
        sReturn = "Excel 2007, RTM"
    ElseIf Application.Build < 6425 Then
        sReturn = "Excel 2007, SP1"
    ElseIf Application.Build < 6611 Then
        sReturn = "Excel 2007, SP2"
    Else
        sReturn = "Excel 2007, SP3"
    End If
End If
MsgBox sReturn
End Sub

Re

en effet Jean-Eric c'est sur cette page que j'avais trouvé les infos nécessaires..

capture

fred

je clos le sujet

je l'ouvrirais de nouveau si besoin

Fred

Rechercher des sujets similaires à "vba connaitre service pack office installe"