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 feuille avec condition


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 246
    Par défaut supprimer feuille avec condition
    Bjr,

    Je cherche a faire quelque chose du genre,
    pour chaque feuille du classeur
    si la feuille a un nom autre que synthese,
    alors on la supprime
    (sachant que le nom de mes feuilles varie souvent, et que je veux toute les suprimé mais garder la feuille synthèse.)

    Donc j'ai com code for each ... if.... <> sythèse then ....Delete
    voila lol ca fait peu, pe être vous aller m'aidé. Merci

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Par défaut
    Bonjour,

    A tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub efface()
      Dim N As Byte
      For N = 1 To Sheets.Count
        If Sheets(N).Name <> "synthese" Then Sheets(N).Delete
      Next N
    End Sub

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Vous pouvez ajouter en début de procédure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.DisplayAlerts = False
    si vous ne voulez pas devoir répondre au message qui va s'afficher à chaque fois.

    En fin de procédure vous ajoutez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.DisplayAlerts = True

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 246
    Par défaut
    J'ai tester, la condition "If Sheets(N).Name <> "Synthèse" Then" marche uniquement pour les feuilles au numero impair, il me met un message d'erreur, "L'indice n'appartient pas a la selection".
    Ce qui est bizare, c'est quant le relancant juste après il efface quelques feuilles et remet le même message, est ce normal?

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut ptitepo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    J'ai tester, la condition "If Sheets(N).Name <> "Synthèse" Then" marche uniquement pour les feuilles au numero impair

    Excel obéit toujours et fait "bêtement" ce qu'on lui demande
    10 feuilles : Excel déclare la boucle de 1 à 10
    t'en supprime 1, la 10 devient la neuf, mais Excel ne recalcule pas et comme tu viens de supprimer l'indice 1, il passe à l'indice 2, ex-indice 3
    (dans ton cas, Synthèse doit être en 1, ce qui déplace le problème).
    Solution : changer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For N = 1 To Sheets.Count
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For N = Sheets.Count to 1 step -1
    du dernier indice au premier en décrémentant
    A+

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 246
    Par défaut
    J'ai mi ma feuille Synthèse en 1er position, mais il me mets, "Dépassement de capacité", et avec le 1er coe, je l'est mise en dernier, et toujours le même message, "L'indice n'appartient pas a la selection"

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

Discussions similaires

  1. recherchev dans une autre feuille avec condition
    Par lucien(67) dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/12/2010, 19h22
  2. transfert lignes,colonnes sur deux feuille avec condition
    Par explosion dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/06/2010, 15h42
  3. [XL-2003] supprimer Feuille avec liaisons
    Par LaPanic dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/09/2009, 17h21
  4. [XL-2007] Copier coller une ligne excel sur autre feuille avec conditions
    Par amstelveen dans le forum Excel
    Réponses: 5
    Dernier message: 11/05/2009, 19h54
  5. imprimer 2 feuilles avec conditions
    Par lindette dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/08/2007, 22h29

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