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 :

[vbexcel]Comment stopper une macro sans la planter.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Mugette
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 194
    Par défaut [vbexcel]Comment stopper une macro sans la planter.
    rebonjour,
    je voudrais savoir si il est possible d'arreter une macro automatiquement sasn la faire planter, exemple:
    la macro ouvre un fichier source et prendre des données et les traiter. le but est d'ajouter une msgbox pour dire si le fichier est dans le repertoire demandé et si le fichier n'existe pas alors la macro s'arrete.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Regarde dans l'aide à On error resume next (nécessite de tester l'erreur et de la gérer) ou on error goto étiquette (qui envoie au traitement d'erreur que tu souhaite ou à la fin de la macro - ce qui semble être ton voeu...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    On error resume next
    'Erreur d'ouverture
    if err <> 0 then exit sub
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    On error goto fin
    'Ta macro...
    '...
    Fin::
    msgbox "y'a une erreur !"
    end sub
    A+

  3. #3
    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
    Tu peu assi tester si fichier existe par une commande dir avant de le traiter...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    st =" c:\tmp\toto.txt" ' Nom du fichier à tester
     
    if Dir(st) = "" then
     
    msgbox "Le fichier : " & st & " est inexitant " ,vbCritical
     
      exist sub ' fin de la procédure......
    endif

  4. #4
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Enfin, que ce soit pour telle ou telle raison, et dans une gestion d'erreur ou non, tu as compris que c'est l'instruction "Exit" qui fait ce dont tu parles.
    Elle marche pour une procédure, mais aussi pour une fonction.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sub MaProc ( )
       ...
       Exit Sub
       ...
    End Sub
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Function MaFonction(ByVal MonParam As Variant) As Variant
       Exit Function
    End Function

  5. #5
    Membre confirmé Avatar de Mugette
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 194
    Par défaut
    il n'existe pas une fonction qui sort directement de la macro ? Ce serait plus simple...Exit et Stop ça ne marche pas pour ça...j'ai déjà regarder

  6. #6
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Ça dépend à quel niveau tu te trouves. Si tu es dans la procédure principale de ton programme, un "Exit Sub", et tout s'arrête.
    Par contre, si tu es dans une sous procédure, ou dans une fonction, tu devras gérer un code retour dans la procédure principale, et faire ton Exit à ce moment là.

  7. #7
    Membre confirmé Avatar de Mugette
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 194
    Par défaut
    ok bah je vais opter pour un .Close de mon document et ca ira. En fait je résous un pb qui n'est pas le mien.

  8. #8
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Ha ouais!?! Bienvenue au club!!

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

Discussions similaires

  1. Comment remplir une liste déroulante avec une macro sans doublons
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/06/2007, 18h34
  2. Comment insérer une macro excel dans une macro word?
    Par max2245 dans le forum VBA Word
    Réponses: 15
    Dernier message: 07/01/2006, 17h44
  3. vba excel - Comment saisir une cellule sans faire entrer
    Par brethomeau dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/11/2005, 17h50
  4. Comment lancer une appli sans afficher ses fiches
    Par raoulmania dans le forum Langage
    Réponses: 5
    Dernier message: 02/09/2005, 18h07

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