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

Macro qui ferme un classeur à son ouverture s'il est en lecture seule

GLOUPS45

XLDnaute Nouveau
Bonjour.

Dans un classeur 1 j'ai une macro qui me permet de modifier puis d'enregistrer un classeur 2 automatiquement.
Mais bien sûr cette macro plante lorsque le classeur 2 est en lecture seule (car déjà utilisé).

Quel code puis-je rajouter pour tester si le classeur 2 est en lecture seule et si c'est le cas annuler la macro pour éviter tout message d'erreur ?

Merci à vous.
 

Lone-wolf

XLDnaute Barbatruc
Re : Macro qui ferme un classeur à son ouverture s'il est en lecture seule

Bonjour GLOUP,

ça serait bien de nous montrer ta macro pour voir ce qu'il cloche, on est pas devins tout de même. Normalement si celle-ci est correct, il n'y a pas ce problèmes. Et si le classeur est ouvert par une autre personne, là tu ne peux rien faire à part d'attendre que l'autre personne ferme le classeur.
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : Macro qui ferme un classeur à son ouverture s'il est en lecture seule

Re

Pour savoir si le classeur est en lecture seule

Code:
Private Sub Workbook_Open()
Dim wks As Workbook, fichier$
fichier = "C:\Users\" & Environ("username") & "\Desktop\Classeur1.xls"
Set wks = Workbooks.Open(fichier)
If wks.ReadOnly = True Then _
MsgBox "Attention ! Le fichier est en lecture seule.", , "ATTENTION !"
End Sub
 
Dernière édition:

GLOUPS45

XLDnaute Nouveau
Re : Macro qui ferme un classeur à son ouverture s'il est en lecture seule

Voici ma macro :

Workbooks.Open ("classeur 2")
Sheets("STATISTIQUES").Select
ActiveSheet.Cells(Rows.Count, "b").End(xlUp)(2).Select
ActiveCell.Value = Format(Now, "dd/mm/yyyy")
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Format(Now, "hh:mm:ss")
ActiveWorkbook.Close SaveChanges:=True
Sheets("ACCUEIL 2").Select
 

GLOUPS45

XLDnaute Nouveau
Re : Macro qui ferme un classeur à son ouverture s'il est en lecture seule

Ton code fonctionne mais me signale juste que le fichier est en lecture seule. Comment faire pour qu'au lieu de me le signaler il stoppe la macro et ferme le classeur 2 ?
 

DoubleZero

XLDnaute Barbatruc
Re : Macro qui ferme un classeur à son ouverture s'il est en lecture seule

Bonjour, GLOUPS45, Lone-wolf , le Forum,

Comme ceci ?

Code:
Option Explicit
Sub Lecture_seule_oui_non()
    Application.DisplayAlerts = False
    Workbooks.Open Filename:="C:\Users\00\Downloads\lecture seule.xlsm"    ' adapter
    If ActiveWorkbook.ReadOnly = True Then
        ActiveWorkbook.Close False
        MsgBox "Le fichier est en cours d'exploitation.", , "ATTENTION !"
    Else
        MsgBox "OK !"    ' adapter
    End If
    Application.DisplayAlerts = True
End Sub

A bientôt
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…