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 :

Fin du programme via Fonction [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Par défaut Fin du programme via Fonction
    Bonjour,

    Dans mon code, j'appelle un sous programme afin d'ouvrir différents fichiers.

    Dans ce sous programme, j'ai un Exit Sub qui stop l'exécution du sous programme sous une certaine condition. Jusque là, tout fonctionne, pas de problème.
    Mais ce que je souhaiterais c'est arrêter aussi le programme principal à partir du sous programme, mais là, je n'y arrive pas...

    Cela est-il possible? Et si oui, par quel moyen y arriver?

    Pour support :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Call openFiles(fichier1, "FICHIER1")
    Call openFiles(fichier2, "FICHIER2")

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Public Sub openFiles(ByRef fichier As Variant, ByVal Nom As String)
    Do
        fichier = Application.GetOpenFilename(, , "SELECTIONNER " & Nom)
            If fichier = False Then
            toto = MsgBox("Fin du programme.", vbExclamation)
            Exit Sub
        End If
        Workbooks.Open Filename:=fichier
    Loop Until fichier Like ("*" & LCase(Nom) & "*")
    End Sub
    D'avance merci !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,
    Cela est-il possible? Et si oui, par quel moyen y arriver ?
    Oui. Le mot clé est End
    Un test simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub TestProg()
        Prog
        Prog
        Prog
    End Sub
    Sub Prog()
        Static i As Byte
        i = i + 1
        Debug.Print i
        If i = 2 Then End
    End Sub
    L'exécution est ici arrêté a i = 2 ici et la fenêtre d'exécution ne doit pas afficher "3" malgré la présence d'un troisième Prog bien qu'il n'y ai pas condition d'arrêt pour i = 3.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Par défaut
    Tout simplement, ça marche nickel, merci !!
    (javais intuité End Sub mais sans succès....j'y étais presque^^)

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

Discussions similaires

  1. memoire fin de programme
    Par semaj_james dans le forum C
    Réponses: 6
    Dernier message: 28/11/2005, 12h39
  2. [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, 16h16
  3. Réponses: 2
    Dernier message: 31/05/2005, 10h50
  4. appel xmlservice via fonction javascript
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 06/05/2003, 15h24
  5. Fin de programme dans une procédure
    Par Sinclair dans le forum Langage
    Réponses: 13
    Dernier message: 29/11/2002, 23h30

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