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 :

Fermeture D'Excel impossible


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Amateur
    Inscrit en
    Décembre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Amateur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2020
    Messages : 2
    Par défaut Fermeture D'Excel impossible
    Bonjour à Tous,

    J'ai un fichier avec la macros suivante dont le principe est de renuméroter les cellules A10 à A 500 si on modifie une cellule de la colonne A ou si on ajoute ou supprime une ligne :

    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
    Private Sub Worksheet_Change(ByVal Target As Range)
     Dim KeyCells As Range
     
     On Error GoTo fin
     
     If Target.Columns.Count = 256 Or Target.Columns.Column = 1 Then
        With [A10:A500]
            .Value = Evaluate("ROW(1:" & .Count & ")")
        End With
      End If
     
    fin:
     a = Err.Number
      Err.Clear
       a = Err.Number
     End
     
     End Sub
    ca fonctionne bien mais si on a activé la macro (en supprimant une ligne du classeur par exemple), et qu'on ferme Excel par la croix supérieure droite, tout scintille et ça mouline sans jamais fermer Excel (vous pouvez la copier dans un fichier vierge le problème vient bien de cette macro).

    J'ai même essayé de placer un point d'arret sur la macro suivante, mais le debugger n'y passe même pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    a = Err.Number
    Err.Clear
    End Sub
    Merci d'avance pour vos avis éclairés.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    L'évènement Change va se déclencher à chaque changement => c'est le but. Donc il est appelé en récursif puisque la suppression de la ligne entraîne le Change dans lequel tu modifies une cellule qui entraine le Change...

    Juste après le On Error Goto, place la ligne Application.EnableEvents = False pour désactiver les évènements le temps du traitement et juste après l'étiquette Fin, place la ligne Application.EnableEvents = True qui rétablit l'écoute des évènements. Ca devrait résoudre le problème.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Candidat au Club
    Homme Profil pro
    Amateur
    Inscrit en
    Décembre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Amateur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2020
    Messages : 2
    Par défaut
    Un grand merci pour cette réponse parfaitement claire et efficace.

    Et Joyeux Noel.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/04/2006, 14h54
  2. [VBA-E]Fermeture Application Excel
    Par malloc_92 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/04/2006, 11h46
  3. [Automation Excel] fermeture d'excel depuis ACCESS
    Par GESCOM2000 dans le forum Access
    Réponses: 3
    Dernier message: 07/01/2006, 19h29
  4. probleme de fermeture d'excel
    Par passie dans le forum Access
    Réponses: 2
    Dernier message: 08/11/2005, 19h34
  5. Fermeture Fichier Excel
    Par beurnoir dans le forum Access
    Réponses: 22
    Dernier message: 28/10/2005, 16h22

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