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 :

worksheets("nomFeuille").delete entraine arrêt macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2004
    Messages : 35
    Par défaut worksheets("nomFeuille").delete entraine arrêt macro
    Bonjour à tous et à toutes!
    Je poste ce message car je rencontre un problème que je ne sais résoudre concernant une marco excel, je vous explique son rôle:
    La macro lit les données contenu sur une feuille excel et en selectionne certaines, selon des critères, afin de les copiers sur une autre feuilles (créée dans la macro) dans un certain ordre. Afin d'éviter la multiplication des feuilles de calcul si l'on relance la macro, la feuille créé porte toujours le même nom et est supprimée si elle existe déjà au moment de la création. Mon problème se situe au moment où je supprime la feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            ' existSheet retourne vrai si la feuille nommer nomFeuille
            ' existe dans le classeur passer en parametre ici le classeur actif
            if existSheet (ActiveworkBook,"nomFeuille") then
                activeworkbook.sheets("nomFeuille").delete
            end if
    En effet la macro s'arrête après cette ligne et je ne comprend pas quel en est la raison! J'ai eu beau lire et relire mon code, aucune erreur n'est levée et cela me semble étrange que la suppression de la feuille entraine l'arrête de la macro!
    Quelqu'un aurait il une idée sur la raison de cet arrêt??
    En espérant profiter de vos lumière, je m'en remet en vos connaissance et expérience ! merci d'avance.

    Olivier

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 288
    Par défaut
    A tout hasard, ce ne serait pas à cause d'un message ?

    Moi quand je désactive les messages et fait ça je n'ai pas de problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Application.DisplayAlerts = False
    ActiveWorkbook.Sheets("Feuil2").Delete
    Application.DisplayAlerts = True
    Ou alors peut-être que ta feuille en question n'existe pas, que ta fonction existSheet renvoie pourtant toujours "vrai" et donc rentre dans la condition sans pour autant trouver de feuille ?

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2004
    Messages : 35
    Par défaut arrêt macro inattendu
    Tout d'abord merci pour ta réponse, j'ai essayé avec la désactivation des messages et le résultat est le même sauf qu'il me demande de confirmer mon choix, sinon la condition du "if" marche correctement puisque le programme n'y rentre pas lorsque la feuille n'existe pas, cette sortie de macro reste inexpliquable!
    Si vous avez encore des propositions n'hésitez pas, car je suis un peu pressé par le temps. Merci d'avance

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2004
    Messages : 35
    Par défaut Une solution de secours...
    J'ai résolu mon problème sans toute fois avoir compris la raison de l'erreur décrite dans mon sujet!
    Afin d'aider ceux qui, peut-être auront le même problème que moi voila la facon dont j'ai procédé:
    j'ai renommer la feuille "nomFeuille" par "nomFeuille_old"
    je créer une nouvelle feuille "nomFeuille"
    j'y effectue mon traitement
    En fin de macro je supprime l'ancienne feuille.

    Cependant j'aimerais vraiment comprendre pourquoi l'instruction delete entraine l'exit de la macro donc n'hésité pas à me donner votre avis. Merci

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

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