Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Bonjour keurma,

sans doute en VBA, si tuspécifie que tu ouvres ton classeur en lecture seule, le message n'apparaîtra pas, avec quelque chose comme :

Workbooks.Open Filename:="C:\ANALYSIS.XLS", ReadOnly:=true
 

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 ?
 

keurma

XLDnaute Occasionnel
Re : Fenetre lecture seule

Bonjour toto

"si tu veux qu'à chaque ouverture de fichier en lecture seule le message disparaisse, ça se complique" : c'est exactement ca que je cherche si tu as la soluc c'est nickel

Merci d'avance.
 

tototiti2008

XLDnaute Barbatruc
Re : Fenetre lecture seule

euh... quand je disais, "ça se complique", ça sous-entendait "je sais pas faire"...
Il y a surtout une chose que j'ignore : comment savoir si un fichier est déjà ouvert par quelqu'un d'autre avant de l'ouvrir...
 

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
380
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…