propriété lecture seule d'un classeur par vba

gadget

XLDnaute Nouveau
Bonjour à toutes et tous,
je souhaite modifier la propriété lecture seule d'un fichier excel ouvert (pour pouvoir le modifier) puis ensuite le repasser en lecture seule (pour des raisons de sécurité).
j'essaie d'utiliser le bout de code suivant (qui me change bien la propriété du fichier) mais qui malheureusement ne me permet pas d'enregistrer le fichier après modifications...

une âme charitable pour m'aider siouplait??


ps: créer une checkbox quelque part pour utiliser le code...
Code:
Private Sub CheckBox1_Click()

If Me.CheckBox1.Value Then
    SetAttr "essai_readonly.xls", vbReadOnly
Else
    SetAttr "essai_readonly.xls", vbReadOnly = False
End If
End Sub

en vous remerciant par avance pour votre aide...

@+

gadget
 

Pierrot93

XLDnaute Barbatruc
Re : propriété lecture seule d'un classeur par vba

Bonjour Gadget


Essaye ainsi, mais attention là, tu touches directement les attributs du fichier en tant que tel, et cette instruction ne fonctionnera pas (n'aura pas l'effet escompté) si le classeur est ouvert...

Code:
SetAttr "classeur2.xls", vbNormal

bonne soirée
@+
 

Pierrot93

XLDnaute Barbatruc
Re : propriété lecture seule d'un classeur par vba

Bonjour Gadget, bhbh

A mon avis si ton fichier est ouvert, cela n'est pas possible, il faut fermer le classeur, modifier l'attribut du fichier et le ré-ouvrir.... Mais attendons, sur ce forum tout est posible, ou presque....

bonne journée
@+
 

gadget

XLDnaute Nouveau
Re : propriété lecture seule d'un classeur par vba

merci pierrot,
je cherche justement un moyen de ne pas devoir fermer, changer la propriété et réouvrir...si je pouvais avoir une checkbox dans le classeur ouvert pour atteindre cette propriété ça m'arrangerait ;)

comme tu dis, attendons de voir si une âme charitable sur ce forum à une idée...

@+
 

eriiic

XLDnaute Barbatruc
Re : propriété lecture seule d'un classeur par vba

Bonjour tout le monde,

Si tu es le seul à travailler dessus c'est plus simple de modifier l'attribut et le rétablir à la fin.
Sinon tu pourrais le partager mais si qcq'un d'autre travaille dessus il faudra gérer les collisions.
eric
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 926
Membres
103 984
dernier inscrit
maliko67