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 :

Supprimer des onglets sous condition


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Supprimer des onglets sous condition
    Bonjour le Forum et merci de me lire.
    Je suis à la recherche de 2 Macros
    1ère Macro:
    Consiste à supprimer les onglets dont la couleur (des onglets) est (verte 719876).
    2ème Macro:
    Consiste à supprimer les onglets dont la cellule B11 de chaque onglet est marquée TERMINER.

    Dans l'attente je vous remercie de votre réponse.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 812
    Points : 28 711
    Points
    28 711
    Billets dans le blog
    53
    Par défaut
    Bonsoir,
    Pour les deux procédures (macros), il faut savoir comment parcourir la collection des feuilles du classeur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Dim wkb As Workbook, sht  As Worksheet ' Déclaration variables objets
     Dim txt$
     Set wkb = ThisWorkbook
     ' Boucle sur les feuilles du classeur où se trouve le code VBA
     For Each sht In wkb.Worksheets
       ' Le traitement de la feuille 
       txt = txt & sht.Name & vbCrLf  ' Affic
     Next
     MsgBox txt, Title:="Liste des feuilles du classeur " & wkb.Name
    Pour les instructions de destruction et de coloration des onglets, tu pourrais utiliser l'enregistreur de macros pour avoir le code qui correspond à ces instructions.
    Pour la 1ère procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Application.DisplayAlerts = False 'Empêche le message d'avertissement
     For Each sht In wkb.Worksheets
      With sht
       If sht.Range("B11").Value = "TERMINER" Then .Delete
      End With
     Next
     Application.DisplayAlerts = True
    Pour la deuxième
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Application.DisplayAlerts = False
     For Each sht In wkb.Worksheets
      With sht
       If .Tab.Color = 719876 Then .Delete
      End With
     Next
     Application.DisplayAlerts = True
    Au lieu du code couleur RGB 719876, tu peux utiliser la constante vbGreen
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci Philippe de vous occuper de moi.

    Vos macros ne fonctionnent pas parce que je n'arrive pas à les coordonner entre elles.

    A quoi me sert la msgbox ????

    A bientôt

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 812
    Points : 28 711
    Points
    28 711
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai donné un exemple pour parcourir la collection des feuilles et l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox txt, Title:="Liste des feuilles du classeur " & wkb.Name
    Affiche la variable txt qui contient la liste des feuilles du classeur parce-que construite par cette ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txt = txt & sht.Name & vbCrLf
    sht est une variable objet qui représente un feuille de cette collection qui est différente à chaque passage de la boucle.

    Evidemment ce n'est certainement pas la réponse toute faite et emballée de la question posée.
    Mais je pense que si l'on prend la peine de lire, analyser et tester les procédures proposées dans cette réponse tout y est pour réaliser ce que l'on cherche.
    J'y ai mis en plus des commentaires.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. [XL-2002] Copie de lignes Excel dans des onglets sous conditions
    Par leana13 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 24/05/2013, 09h24
  2. [XL-2010] Supprimer des onglets sous condition
    Par APLOMB dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/01/2013, 23h56
  3. [Toutes versions] Supprimer des lignes sous conditions selon résultat fonction
    Par Chtik dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/11/2012, 21h29
  4. [XL-2007] Macro pour supprimer des lignes sous conditions de valeur de cellule
    Par frisco75 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/09/2011, 14h33
  5. [XL-2007] Code VBA pour supprimer des lignes sous condition - problème
    Par PeaceMaker dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/06/2011, 09h09

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