IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Event Workbook_BeforeClose => Wb.close files on Read Only [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 74
    Par défaut Event Workbook_BeforeClose => Wb.close files on Read Only
    Hello

    Je tourne en boucle sur un probleme de fermeture de fichier excel.

    Ma promblématique est la suivante:
    J'ai une instance Excel ouverte avec 2 fichiers ouverts:
    1-"Weekly KPI EVT Fleet Performance v0.9.xlsm"
    2-"Flight Follow-up EVT Activities.xlsm" READ ONLY

    NB: Le fichier "Flight Follow-up EVT Activities.xlsm" READ ONLY est ouvert lors de l'ouverture du fichier "Weekly KPI EVT Fleet Performance v0.9.xlsm".

    Pour la fermeture du fichier excel "Weekly KPI EVT Fleet Performance v0.9.xlsm", je souhaite que l'utilisateur n'est pas d'autre solution que de cliquer sur la croix rouge (en haut à droite) de l'instance Excel.

    De ce fait, j'ai mise en place ce code pour la fermeture mais j'ai le code erreur 9 " l'indice n'appartient pas à la sélection"

    Le code se trouve dans "ThisWorkbook/du fichier Weekly KPI EVT Fleet Performance v0.9.xlsm".
    Il s'arrete à cette ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("Flight Follow-up EVT Activities.xlsm").Close False
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Workbook_BeforeClose(Cancel As Boolean)
     
      Application.DisplayAlerts = False
     
       Workbooks("Flight Follow-up EVT Activities.xlsm").Close False
     
       Workbooks("Weekly KPI EVT Fleet Performance v0.9.xlsm").Close False
     
       Application.DisplayAlerts = True
    End Sub
    Quelques pistes éventuelles:
    1- L'exécution en pas à pas ne pose pas de problème, tous les fichiers se ferment sans le message d'erreur
    2- Lorsque le message d'erreur apparait, le fichier Weekly KPI EVT Fleet Performance v0.9.xlsm semble déjà fermé :-s

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 74
    Par défaut Event Workbook_BeforeClose => Wb.close files on Read Only
    Une nouvelle Indication,
    si je garde seulement ce code, il n'y a plus le message d'erreur.
    Le problème d'un point de vue user, c'est que la popup de svg s'affiche pour ce Wb "Weekly KPI EVT Fleet Performance v0.9.xlsm"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     Sub Workbook_BeforeClose(Cancel As Boolean)
     
      'Application.DisplayAlerts = False
     
       Workbooks("Flight Follow-up EVT Activities.xlsm").Close False
     
       'Workbooks("Weekly KPI EVT Fleet Performance v0.9.xlsm").Close False
     
       'Application.DisplayAlerts = True
    End Sub

  3. #3
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour, bonjour !

    En passant vite fait juste pour signaler la grossière erreur de logique :
    on ne ferme pas un classeur dans son évènement de fermeture car cette fermeture est déjà en cours ‼

    Voilà, voilà !

    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 74
    Par défaut
    Bonjour

    La nuit porte conseille et merci à Marc L pour ta remarque

    Le code pour la solution est la suivante:

    Rappel:
    Objectif: fermer 2 fichiers sans svg et sans faire apparaitre les message.
    NB: 8Un fichier a été appelé en read-only lors de l'ouverture du premier dans l'event Workbook_Open()

    Solution:
    Dans Thisworkbook, j'ai déposer ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub Workbook_BeforeClose(Cancel As Boolean)
     
    'ferme le 2eme workbook en read only appelé à l'ouverture du premier ci-dessous et sans svg et sans 
    Workbooks("Flight Follow-up EVT Activities.xlsm").Close False
    'rétablie les autres session Excel d'ouverte
    Application.DisplayAlerts = False
    Application.DisplayFullScreen = True
    Application.DisplayStatusBar = True
    ActiveWindow.DisplayHeadings = True
    Application.ScreenUpdating = True
     
    'fermer le permier workbook  ouvert 'Thisworkbook"
    Application.Quit
     
    End Sub
     
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Cancel = True 'empeche svg du permier workbook  ouvert 'Thisworkbook"
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. datafile number not processed because file is read-only
    Par medlfi dans le forum Administration
    Réponses: 1
    Dernier message: 25/01/2010, 17h50
  2. [Erreur] Severe (24) : end of file during read
    Par manoro dans le forum Fortran
    Réponses: 2
    Dernier message: 11/01/2008, 13h25
  3. [Erreur Stream closed] sur un read de BufferedInputStream
    Par nebule dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 21/06/2007, 09h58
  4. Erreur : end-of-file during read
    Par phy4me dans le forum Fortran
    Réponses: 3
    Dernier message: 09/05/2007, 20h59
  5. [File][byte][read]
    Par fabszn dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 27/10/2004, 15h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo