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 :

Masquer alerte quand fermeture en Lecture Seule


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Par défaut Masquer alerte quand fermeture en Lecture Seule
    Bonjour,

    suite à un 1er problème de "plantage" excel à la fermeture quand ouvert en lecture seule en même temps qu'un autre fichier, j'ai modifié mon code comme ci-dessous :

    A_L_OUVERTURE
    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
    Private Sub Workbook_Open()
    Application.Run "A_L_OUVERTURE"
    End Sub
     
    Public AppExcel As Excel.Application 'Application Excel
    Public wbExcel As Excel.Workbook 'Classeur Excel
    Public wsExcel As Excel.Worksheet 'Feuille Excel
     
    Private Sub A_L_OUVERTURE()
    Set AppExcel = CreateObject("Excel.Application")
    AppExcel.Workbooks.Add
    Set wbExcel = AppExcel.ActiveWorkbook
    Set wsExcel = wbExcel.ActiveSheet
    ...
    End Sub

    A_LA_FERMETURE
    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
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.Run "A_LA_FERMETURE"
    End Sub
     
    Private Sub A_LA_FERMETURE()
    If ActiveWorkbook.ReadOnly = True Then
    ActiveWorkbook.Application.DisplayAlerts = False
    wbExcel.Application.DisplayAlerts = False
    AppExcel.Application.DisplayAlerts = False
    wsExcel.Application.DisplayAlerts = False
    wbExcel.Close SaveChanges:=False 'Fermeture du classeur Excel
    AppExcel.Quit 'Fermeture de l'application Excel
    'Désallocation mémoire
    Set wsExcel = Nothing
    Set wbExcel = Nothing
    Set AppExcel = Nothing
    Else
    .....
    End Sub
    Le "plantage" semble résolu seulement lorsque ce classeur est ouvert en lecture seule et qu'on le ferme, je souhaite que ce fichier se ferme sans enregistrer et sans demander à l'utilisateur ce qu'il souhaite.
    Mais ce code m'affiche la fenêtre : voulez vous enregistrer les modifications.

    Autodidacte et nouveau sur un forum, avec mes excuses si message non conforme, je suis bloqué.
    Également si vous avez une autre solution pour contourner le 1er problème, je suis preneur.
    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Application.DisplayAlerts = False 'pour eviter un message Windows
    '..la partie de code où tu ne veux plus de message
    Application.DisplayAlerts = True 'penser à remettre à True
    Bonne soirée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Par défaut
    Bonsoir et merci pour ta réponse rapide DOM,

    mais j'avais déjà essayé ce code que j'utilise régulièrement mais ici cela ne fonctionne pas et j'ai toujours la fenêtre de demande de sauvegarde.

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    et comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Macro1()
    Application.DisplayAlerts = False
    ActiveWorkbook.Close
    Application.DisplayAlerts = False
     
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Par défaut
    Et bien non plus,
    et c'est dans ce cas qu'Excel "Plante" : Excel a rencontré un problème et doit fermer.

    Ci-joint un fichier Test, dans le module il y a les 2 cas :

    Cas 1 : Fenêtre qui me demande si je veux enregistrer
    Cas 2 : Fais "planter" Excel

    Merci pour ton aide
    Fichiers attachés Fichiers attachés

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Par défaut
    Il plante si ouvert en lecture seule ainsi qu'un autre fichier sur la même session.

    Pour faire ce test, j'ouvre ce fichier une première foie (dans une première session),
    puis dans une autre session je le ré-ouvre à nouveau (en lecture seule donc)
    et ouvre un autre fichier X dans cette 2ème session.

    Ensuite je ferme celui en lecture seule et là ça plante.

    Merci

  7. #7
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    J'ai esayé comme ça sans problème, seul l'application ne ferme pas
    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
    20
    21
    22
    Private Sub Fermeture()
     
    If ActiveWorkbook.ReadOnly = True Then
      Application.DisplayAlerts = False
      ActiveWorkbook.Close
      Application.DisplayAlerts = True
      MsgBox "Fermeture en lecture seule"
    Else
      ActiveWorkbook.Save
      ActiveWorkbook.Close 'Fermeture du classeur Excel
      AppExcel.Quit 'Fermeture de l'application Excel
     
    'Désallocation mémoire
    'Set wsExcel = Nothing
    'Set wbExcel = Nothing
    'Set AppExcel = Nothing
    'MsgBox "Fermeture normal"
     
    End If
     
     
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Par défaut
    Bonjour DOM,

    et bien cela plante Excel quand il est ouvert en lecture seule
    mais seulement quand un autre classeur est ouvert sur la même session.
    En effet quand ouvert seul, cela fonctionne.

    Merci d'avance

    Je ne trouve pas de solution.

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/04/2014, 17h12
  2. [VB6] Fichier excel en lecture seul et détection fermeture
    Par belfaigore dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 17/05/2006, 11h48
  3. [TQuery][DBGRID] pb de mise à jour: table en lecture seule
    Par Chrystèle Carré dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/11/2003, 09h36
  4. Réponses: 5
    Dernier message: 28/10/2003, 15h01
  5. [firebird] Connexion impossible en lecture seule
    Par severine dans le forum Administration
    Réponses: 2
    Dernier message: 01/08/2003, 15h35

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