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 :

Msgbox et fin du programme [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 74
    Par défaut Msgbox et fin du programme
    Bonjour,

    Je pense que la question a déjà été posée plusieurs fois mais comme je n'ai pas trouvé la solution.... je refais appelle à vous

    AU début de mon programme, j'ai un bouton qui lance le programme et la première instruction est une boite de dialogue qui avertit l'utilisateur de ce qui l’attend.

    S'il est d'accord, il clique sur OK et le programme se lance (ça c'est OK dans mon code), mais s'il ne veut pas le lancer, il clique sur annuler le programme s’arrête.

    Qu'est ce que je mets sur mon vbCancel pour avoir un truc du genre "goto début" ou réinitialise et attend que l'utilisateur soit prêt à cliquer une nouvelle fois sur le bouton de lancement ou qu'il ferme carrément la feuille car il a fini sa journée, sans qu'un message d'erreur n'apparaisse

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2012
    Messages : 30
    Par défaut
    ça quitte la procédure en cours, donc si tu le met au bon endroit ça fera ce que tu veux.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 74
    Par défaut
    Génial, le bout de code le plus utile et le plus cours

    Et dans mon cas j'ai fait exit Function et j'ai ajouté ensuite une condition:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     si = vrai alors
    exit sub
    par contre j'ai un deuxième classeur ouvert que j'aimerais fermer et il n'a pas de nom désigné puisque je suis sorti

    classeur01
    classeur02

    etc...

    Comment fermer le dernier classeur ouvert car si je fais thisworkbook il me ferme celui de la macro ???

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonjour,

    comment est ouvert le classeur ?
    code ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 74
    Par défaut
    en ce qui concerne ma fonction:

    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 miseEnRoute() As String
     
    Dim nameFile As String
     
            Set NewBook = Workbooks.Ad
            fname = Application.GetSaveAsFilename
                If fname = False Then
                    ThisWorkbook.Close savechanges:=False
                    Exit Function
                    Else: NewBook.SaveAs Filename:=fname
            End If
            nameFile = Dir(fname)
     
    miseEnRoute = nameFile
     
    End Function
    et ensuite il retourne dans le sub:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    nomFichierFinal = miseEnRoute()
            If nomFichierFinal = Empty Then
               Exit Sub
            End If
    Qu'est-ce que tu en penses...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 74
    Par défaut
    Bonjour Bbil,

    M'as-tu oublié ???

    J'attends ta réponse avec impatience ...

  7. #7
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par bbil Voir le message
    Bonjour,

    comment est ouvert le classeur ?
    code ?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 74
    Par défaut
    Ben c'est ce code lié avec le msgbox que j'ai mis précédemment:
    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 miseEnRoute() As String
     
    Dim nameFile As String
     
            Set NewBook = Workbooks.Ad
            fname = Application.GetSaveAsFilename
                If fname = False Then
                    ThisWorkbook.Close savechanges:=False
                    Exit Function
                    Else: NewBook.SaveAs Filename:=fname
            End If
            nameFile = Dir(fname)
     
    miseEnRoute = nameFile
     
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    nomFichierFinal = miseEnRoute()
            If nomFichierFinal = Empty Then
               Exit Sub
            End If
    Ensuite un classeur actif apparaît avec comme nom classeur1

    Si la personne continue le process en cliquant "enregistrer sous", aucun soucis
    Si la personne clique sur "annuler", mon programme principal ce ferme et il me reste sur les bras, la fenêtre active classeur01

    Est-ce que c'est cette information dont tu as besoin???

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/11/2007, 22h45
  2. Réponses: 7
    Dernier message: 18/01/2007, 13h09
  3. memoire fin de programme
    Par semaj_james dans le forum C
    Réponses: 6
    Dernier message: 28/11/2005, 11h39
  4. [LG] Problème avec la Fonction ReadLn en fin de programme
    Par killermano dans le forum Langage
    Réponses: 6
    Dernier message: 23/07/2005, 15h16
  5. Fin de programme dans une procédure
    Par Sinclair dans le forum Langage
    Réponses: 13
    Dernier message: 29/11/2002, 22h30

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