VBA : connaitre le service pack office installé Le sujet est résolu

Word, PowerPoint, Outlook, Access et tous les autres logiciels de la suite Office (sauf Excel)
Avatar du membre
fred2406
Membre impliqué
Membre impliqué
Messages : 1'958
Appréciations reçues : 32
Inscrit le : 13 mai 2014
Version d'Excel : 2007-201364bits-2011MAC

Message par fred2406 » 10 octobre 2016, 12:41

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.PNG
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
Modifié en dernier par fred2406 le 10 octobre 2016, 14:49, modifié 1 fois.
Je ne réponds pas aux M.P. non sollicités.
Fred
p
patrick1957
Passionné d'Excel
Passionné d'Excel
Messages : 3'159
Appréciations reçues : 31
Inscrit le : 24 août 2015
Version d'Excel : 2007-2010-2016 PC

Message par patrick1957 » 10 octobre 2016, 12:52

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/off ... rvice.html

P.
Je fais du géocaching et vous ?
Indentez vos codes VBA, ---> http://www.oaltd.co.uk/Indenter/Default.htm
A lire pour les débutants: http://www.xlerateur.com/divers/2010/05 ... nnees-612/
Avatar du membre
fred2406
Membre impliqué
Membre impliqué
Messages : 1'958
Appréciations reçues : 32
Inscrit le : 13 mai 2014
Version d'Excel : 2007-201364bits-2011MAC

Message par fred2406 » 10 octobre 2016, 13:19

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/astuce ... _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
Je ne réponds pas aux M.P. non sollicités.
Fred
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 15'436
Appréciations reçues : 545
Inscrit le : 27 août 2012
Version d'Excel : 365 Insider

Message par Jean-Eric » 10 octobre 2016, 13:31

Bonjour,
As-tu regardé avec application.build ?
Effectue un test sur différents postes et vois les résultats.
Cdlt.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
Avatar du membre
fred2406
Membre impliqué
Membre impliqué
Messages : 1'958
Appréciations reçues : 32
Inscrit le : 13 mai 2014
Version d'Excel : 2007-201364bits-2011MAC

Message par fred2406 » 10 octobre 2016, 14:27

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
Je ne réponds pas aux M.P. non sollicités.
Fred
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 15'436
Appréciations reçues : 545
Inscrit le : 27 août 2012
Version d'Excel : 365 Insider

Message par Jean-Eric » 10 octobre 2016, 15:56

RE,
Un lien qui pourra être utile !?
Cdlt.
https://support.microsoft.com/en-us/kb/928116
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
Avatar du membre
fred2406
Membre impliqué
Membre impliqué
Messages : 1'958
Appréciations reçues : 32
Inscrit le : 13 mai 2014
Version d'Excel : 2007-201364bits-2011MAC

Message par fred2406 » 10 octobre 2016, 16:08

Re
en effet Jean-Eric c'est sur cette page que j'avais trouvé les infos nécessaires..
Capture.PNG
fred
Je ne réponds pas aux M.P. non sollicités.
Fred
Avatar du membre
fred2406
Membre impliqué
Membre impliqué
Messages : 1'958
Appréciations reçues : 32
Inscrit le : 13 mai 2014
Version d'Excel : 2007-201364bits-2011MAC

Message par fred2406 » 10 octobre 2016, 18:44

je clos le sujet
je l'ouvrirais de nouveau si besoin
Fred
Je ne réponds pas aux M.P. non sollicités.
Fred
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message