Rendre un fichier ouvrable uniquement avec Excel 2010

Bonjour à tous,

j'ai créé un fichier sous excel 97 destiné à un certain nombre de personnes. Or à chaque mise à jour de ce fichier, celui-ci est diffusé à des personnes qui ne sont pas sensées y avoir accès.

Les ordinateurs des personnes concernées par le fichier et mon ordinateur sont désormais équipés d'Office 2010. En revanche les ordinateurs des "pirates" ne le sont pas.

Pour éviter la diffusion auprès de ces personnes, j'aimerais savoir s'il existe un système pour rendre l'ouverture du fichier impossible sur les versions antérieures à Excel 2010.

Mettre un mot de passe ne suffit pas... (il y a toujours quelqu'un pour le diffuser).

Merci d'avance pour votre aide.

PS : je ne sais malheureusement pas parler/programmer en VBA... Si c'est la seule solution, il faudra me parler très basiquement...

bonjour Pierre25 le forum

oui pour moi c'est possible avec un truc du style

mais comme j'ai pas 2010 je pense que 2010 c'est la version 13.0 mais pas sur à vérifier

a+

papou

Sub version()   
    Select Case Application.version
    Case "13.0"
       GoTo 1
    Case "11.0" 'version 2003
        Application.Quit
    Case "12.0" ' version 2007
        Application.Quit
1    End Select
End Sub

Bonjour à tous,

paritec a écrit :

mais comme j'ai pas 2010 je pense que 2010 c'est la version 13.0 mais pas sur à vérifier

Eh non, excel 2010 est la version 14.0.

Voici un fichier que j'ai fait et que je n'arrive plus à ouvrir (étant sur excel 2007) :

Le code :

Private Sub Workbook_Open()
If Val(Application.Version) <> 14 Then ThisWorkbook.Close False
End Sub

Bonjour

Une macro bloquera l'ouverture - Mais si on ne l'active pas ...

Amicalement

Nad

Merci beaucoup à vous 2 pour vos réponses super rapides !!

Cependant, je ne sais pas où je dois copier coller ce texte...

Salut Nad,

Nad a écrit :

Une macro bloquera l'ouverture - Mais si on ne l'active pas ...

Pas bête, j'y avais pas pensé. Ma macro tombe à l'eau...

-- 08 Juin 2011 13:42 --

Re,

2è version :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
For Each Sht In ThisWorkbook.Worksheets
if Sht.Name <> "Visible" Then Sht.Visible = xlSheetVeryHidden
Next Sht
End Sub

Private Sub Workbook_Open()
If Val(Application.Version) <> 14 Then ThisWorkbook.Close False
For Each Sht In ThisWorkbook.Worksheets
Sht.Visible = xlSheetVisible
Next Sht
End Sub

Avant de sauvegarder le classeur, on cache les feuilles sauf une. Ça implique donc qu'il faut activer au moins une fois les macros.

Ensuite, si les macros ne sont pas activées, les feuilles cachées ne peuvent être rendues visibles.

Pour ne pas pouvoir les rendre visibles manuellement, on met un mot de passe VBA.

Merci beaucoup pour ta réponse vba new !

Si j'ai bien compris, je dois renommer la page visible de mon classeur : visible.

En ce qui concerne la macro où dois-je copier le texte ? Désolé pour ma question, mais les seules macros que j'ai pu enregistrées pour le moment ont été faites sans passer par vba..

Merci

Bonjour,

pierre 25 a écrit :

Si j'ai bien compris, je dois renommer la page visible de mon classeur : visible.

C'est ça. Ou bien changer cette partie là :
if Sht.Name <> "Visible"
pierre 25 a écrit :

En ce qui concerne la macro où dois-je copier le texte ?

Il faut déjà activer l'onglet développeur : Va dans Fichier / Options / Personnaliser le ruban, dans la colonne de droite, cocher Développeur.

Ensuite, appuie sur ALT+F11 puis double clique sur ThisWorkbook dans la colonne de gauche et tu colles le code que je t'ai donné.

Bonjour vba new,

merci beaucoup, ça marche nickel chrome !!

MERCI !!

Rechercher des sujets similaires à "rendre fichier ouvrable uniquement 2010"