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 une feuille en fonction de son nom


Sujet :

Macros et VBA Excel

  1. #1
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut Supprimer une feuille en fonction de son nom


    Je voudrais supprimer des feuilles portant un nom plus ou moins precis.
    En fait, ces feuilles portent le même nom (dans des classeurs différents)
    mais quant elles sont dans le même classeur, le nom change :
    Nom d'origine : Global
    Différent nom a cause des noms identique : Global (1), Global (2), ...

    Je fait le code suivant qui ne marche malheureusement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For j = 1 To 20
        For x = 1 To 20
            If Sheets(x).Name = ("Global (" & j & ")") Then Sheets("Global (" & j & ")").Delete
            If Sheets(x).Name = ("Global") Then Sheets("Global").Delete
        Next x
    Next j
    Dans le code, si je ne me trompe pas, je supprime les feuilles dont le nom est Global avec ou sans quelque chose derrière.
    Mais si le feuille n'exista pas, sa plante avec le message suivant : "L'indice n'appartient pas à la sélection"

    (Je peu me tromper dans mes déductions)

  2. #2
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Bonjour,

    Je te propose ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub delete_feuilles_global()
    Dim WS As Worksheet
    On Error GoTo fin
     
    Application.DisplayAlerts = False
    For Each WS In Worksheets
    Debug.Print WS.Name
        If UCase(Left$(WS.Name, 6)) = "GLOBAL" Then 'laisser le nom en majuscule
            WS.Delete
        End If
    Next WS
     
    fin:
    Application.DisplayAlerts = True
    End Sub

  3. #3
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    Nickel


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

Discussions similaires

  1. [XL-2007] Importer une images en fonction de son nom dans l'exporateur windows
    Par Aziz_Az dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 07/06/2014, 14h12
  2. Réponses: 1
    Dernier message: 29/12/2009, 16h59
  3. Supprimer une feuille en fonction du resultat d'une cellule
    Par Victor1 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 31/07/2009, 16h45
  4. Appeler une classe en fonction de son nom
    Par NutellaPiou dans le forum Langage
    Réponses: 8
    Dernier message: 14/01/2009, 09h26
  5. cocher une checkbox en fonction de son nom
    Par boss_gama dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/09/2006, 16h42

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