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 :

macro dont l'éxécution s’arrête


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1
    Par défaut macro dont l'éxécution s’arrête
    bonjour j'ai créé une petite macro sous excel qui s’exécute à la fermeture du classeur


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim FermeDate
     
        FermeDate = "Il n'y a plus aucune donnée à traiter " & Chr(10) & Chr(10) & " Voulez-vous que la date actuelle : " & ActiveWorkbook.Sheets("TABLES1").Cells(1, 2).Value & " changer au prochain demarrage du fichier ? "
     
        DemandeNouvDate (FermeDate)
        ActiveWorkbook.Sheets("TABLES1").Cells(4, 2).Value = "Vrai"
     
    End Sub
    cette macro affiche un formulaire avec un MonthView sur lequel on choisi une date

    voici la macro DemandeNouvDate(Message)

    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
     
    Function DemandeNouvDate(message)
        'demande si on change de journée
        Select Case MsgBox(message, vbYesNo, "Entrez votre Choix !")
            Case vbYes
                Cancel = True
                ' appel affichage userform
                UserForm1.ShowIt
     
                ActiveWorkbook.Sheets("TABLES1").Cells(3, 2).Value = "Faux"
            Case vbNo
                Cancel = False
                ActiveWorkbook.Sheets("TABLES1").Cells(3, 2).Value = "Vrai"
        End Select
     
    End Function
    pour tester le bon fonctionnement j'ai aussi créé un bouton sur une feuil du classeur.
    quand je clique sur le bouton l’exécution se fait sans problème jusqu'au bout mais lorsque j'appel la même fonction par la fermeture du classeur (BeforeClose ) l’exécution ce s’arrête sur la méthode ShowIt() dans la console VISUAL BASIC et je dois appuyer sur F5 pour l'execution reprenne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
              
              Sub ShowIt()
     =>                  UserForm1.Show
              End Sub
    le bouton et la méthode BeforeClose du classeur font la même chose quelqu'un aurais une idée de la cause du blocage car la moi je ne vois pas ??

    je suis sous excel 2007 mais le classeur est 2003 (xls). mon système d'exploitation est Windows XP professionnel service Pack 3.

    merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 84
    Par défaut Afficher UserForm avant fermeture
    Bonjour,

    Je me suis appliqué à tester la possibilité d'affichage d'un UserForm avant la fermeture et ça marche cf. exemple.

    Excel 2003

    ...à creuser
    Fichiers attachés Fichiers attachés

  3. #3
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    UserForm1.Show au lieu de UserForm1.ShowIt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Case vbYes
                Cancel = True
                ' appel affichage userform
                UserForm1.Show

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 84
    Par défaut
    J'ai retourné mon exemple (que j'ai mis à jour) dans tous les sens, ça marche toujours... avec ou sans ShowIt...
    Je vois pas ce qui cloche..

Discussions similaires

  1. [Toutes versions] Supprimer des colonnes avec MACRO dont les valeurs sont utilisées
    Par info009 dans le forum Excel
    Réponses: 2
    Dernier message: 06/05/2014, 14h43
  2. [XL-2003] Une macro dont toutes les valeurs sont vides !
    Par rjl dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/12/2010, 17h48
  3. message avant l'éxécution de la macro
    Par k-eisti dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/06/2007, 19h14
  4. [Excel] Changer de profil lors de l'éxécution d'une macro
    Par TeetyTweety dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/02/2007, 08h35
  5. [VBA-E]Problème d'éxécution de macros à l'ouverture d'éxcel
    Par mulot03 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 26/04/2006, 18h02

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