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 :

suppression onglet (codename) [XL-365]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut suppression onglet (codename)
    Bonjour j'ai un problème avec ce code ci-dessous.
    quand SH_MONITORING1 existe le débogage du code n'indique pas d'erreur
    MAIS dans le cas où la feuille n'existe pas le débogage plante à la ligne SH_MONITORING1.DELETE et indique "erreur de compilation - Variable non définie"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim Sh As Worksheet
    For Each Sh In ThisWorkbook.Worksheets
    Select Case Sh.CodeName
    'Attention : CodeName et ta liste est
    'sensible à la casse.
    Case Is = "SH_MONITORING1"
    SH_MONITORING1.Delete
    End Select
    Next

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 512
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 512
    Par défaut
    Salut,

    L'opérateur Is permet de comparer des références,
    par exemple savoir si une instance existe, ou si l'instance est bien celle attendue.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ThisWorkbook Is Nothing  '// Renvoie True si Thisworkbook n'est pas instancié
    ThisWorkbook Is ActiveWorkbook  '// Renvoie true si le classeur courrant est le classeur actif
    .
    Ou, utilisé avec la'opérateur TypeOf, permet de comparer les types de données:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TypeOf ThisWorkbook Is Excel.Workbook    '// Renvoie True si ThisWorkbook est de type Excel.Workbook
    Dans ton cas, tu fais de la simple comparaison de chaînes, l'opérateur Is est inapproprié.
    Supprime le.

  3. #3
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    il faut utiliser la variable Sh pour manipuler l'objet, et le select case est plutôt préconisé pour du multitraitement.
    Un simple if suffit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub toto()
    Dim Sh As Worksheet
        For Each Sh In ThisWorkbook.Worksheets
            If Sh.CodeName = "SH_MONITORING1" Then Sh.Delete
        Next Sh
    End Sub

  4. #4
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut
    Merci

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

Discussions similaires

  1. [MediaWiki] Administrateur : suppressions onglets
    Par mabian dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 15/09/2014, 19h20
  2. Suppression onglet dans jtabbedPane
    Par kyryan dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 12/03/2014, 14h34
  3. Conserver presse papier après suppression onglet
    Par jpma75 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/02/2013, 18h08
  4. Echelle graphique en log / Suppression Onglet de type "Graphique"
    Par Xaladra dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/05/2008, 13h31
  5. WIn XP Registre Suppression onglet option dossier
    Par edmond1 dans le forum Windows XP
    Réponses: 2
    Dernier message: 08/01/2007, 21h31

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