identifier la version d'excel par macro

kinel

XLDnaute Occasionnel
Bonjour à tous

à l'ouverture de mon classeur j'utilise cette macro pour identifier une modif intempestive

On Error Resume Next
If Me.Name <> "Nom de mon classeur.xlsm" Or IsError(Interface.Shapes("logo")) Then
Me.Saved = True 'évite l'invite
MsgBox "modification interdite !", vbCritical, T
If Workbooks.Count = 1 Then Application.Quit Else Me.Close
End If


en cas de modification du nom de fichier ou/et du logo le classeur se referme
ça fonctionne très bien

Le classeur que je prépare sera installé sur plusieurs pc certains en excel 2003 d'autres en 2010
afin d'éviter les bugs, serait il possible de détecter de la même façon si la version d'excel est celle souhaitée pour mon classeur ? dans le cas contraire il y aurait simplement fermeture du classeur

merci de votre aide

Kinel
 

kinel

XLDnaute Occasionnel
Re : identifier la version d'excel par macro

re bonsoir

merci pour ces liens
j'ai opté pour cette solution qui fonctionne bien

en plaçant un call WhatOfficeVer dans le Private Sub Workbook_Open()

Sub WhatOfficeVer()
'regarde quelle version d'office est utilisé par le poste

v = Application.Version

'si ce n'est pas office 2003 affiche un msg
'et ferme le fichier
If v <> "11.0" Then '11 pour version excel 2003, 14 pour 2010
MsgBox "Vous n'avez pas la bonne version d'excel pour utilisez ce fichier. ", vbInformation, "Fermeture du fichier"
If Workbooks.Count > 1 Then
ActiveWorkbook.Close
Else
Application.Quit
End If
End If

End Sub
 

kinel

XLDnaute Occasionnel
Re : identifier la version d'excel par macro

pour le moteur je l'utilise mais pas toujours facile de trouver sans savoir bien formuler la question
je me suis rendu compte qu'après avoir posé ma question, lors de l'affichage, les propositions en bas de page contenaient des liens plus efficaces que le résultat du moteur de recherche
quoi qu'il en soit, ce forum m'a déjà bien aidé et j'en remercie infiniment ses participants

bien cordialement
Kinel