Fenetre lecture seule

keurma

XLDnaute Occasionnel
Bonjour,

Existe-t-il un moyen de faire en sorte que la fenetre qui indique que le document doit etre ouvert en lecture seule n'apparaissent pas afin que l'on arrive directement sur le document ?

Merci

Marc
 

tototiti2008

XLDnaute Barbatruc
Re : Fenetre lecture seule

si tu veux qu'à chaque ouverture de fichier en lecture seule le message disparaisse, ça se complique. Si par contre tu veux automatiser l'ouverture d'un fichier spécifique en lecture seule, il faut créer une macro dans laquelle tu intègres la ligne de code que je t'ai proposée.
Ta question était d'ordre générale ou ciblée sur un fichier particulier ?
 

tototiti2008

XLDnaute Barbatruc
Re : Fenetre lecture seule

Tiens, en fouillant j'ai fini par trouver une fonction qui permet de savoir si le fichier est déjà ouvert par un autre utilisateur :

Code:
Function IsFileOpen(filename As String)
Dim filenum As Integer, Errnum As Integer
On Error Resume Next
filenum = FreeFile()
Open filename For Input Lock Read As #filenum
Close filenum
Errnum = Err
On Error GoTo 0
Select Case Errnum
Case 0
IsFileOpen = False
Case 70
IsFileOpen = True
End Select
End Function

trouvé sur : Vérifier la dispo d'un fichier avant ouverture - VB/VBA/VBS - Programmation - FORUM HardWare.fr
 

tototiti2008

XLDnaute Barbatruc
Re : Fenetre lecture seule

Alors sur la base du code posté précédement, il faudrait :
Créer une macro complémentaire (.xla) dans laquelle on activerait les évènement au niveau Application.
Dans l'évènement "Ouverture d'un classeur", on testerait si le fichier est déjà ouvert par un autre utilisateur
si c'est le cas on ouvrirait le ficher en lecture seule pour éviter le message

et je suis même pas sûr que ça marcherait parce que l'évènement "Ouverture d'un fichier" au niveau Application ne se déclenche que lorsque le fichier est ouvert, je crois...

Bref, c'est compliqué.
 

Discussions similaires

Réponses
13
Affichages
331

Statistiques des forums

Discussions
312 344
Messages
2 087 448
Membres
103 546
dernier inscrit
mohamed tano