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

  • Initiateur de la discussion Initiateur de la discussion GLOUPS45
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.
 
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:
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:
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
 
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 ?
 
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 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour