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 sans confirmation dans une boucle


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2017
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2017
    Messages : 79
    Par défaut Supprimer une feuille sans confirmation dans une boucle
    Bonjour

    Je souhaite supprimer une feuille sans confirmation. Habituellement j'utilise avec succès:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub toto()
    Application.DisplayAlerts = False
    Sheets(1).Delete
    Application.DisplayAlerts = True
    End Sub
    Seulement cette fois ci, j'aimerais l'intégrer dans la boucle ci-dessous que j'utilise également habituellement avec succès:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For CompA = 1 To Sheets.Count
                                 If Sheets(CompA).Name = "Relances" Then _
                                 Sheets(CompA).Delete
                                 Next CompA
    Cela donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For CompA = 1 To Sheets.Count
                                 If Sheets(CompA).Name = "Relances" Then _
                                 Application.DisplayAlerts = False
                                 Sheets(CompA).Delete
                                 Application.DisplayAlerts = True
                                 Next CompA
    Mais cela ne fonctionne pas, une fenêtre d'erreur apparaît: "Erreur d'exécution 9, l'indice n'appartient pas à la sélection"

    Merci par avance de vos réponses.
    Cdt
    Guillaume

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par buigui Voir le message
    Bonjour,

    Il faut commencer votre boucle par la fin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For CompA = Sheets.Count To 1 Step -1

  3. #3
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2017
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2017
    Messages : 79
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Bonjour,

    Il faut commencer votre boucle par la fin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For CompA = Sheets.Count To 1 Step -1
    Bonjour Eric

    Avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub TEST()                      
                        For CompA = Sheets.Count To Step - 1
                                 If Sheets(CompA).Name = "Relances" Then _
                                 Sheets(CompA).Delete
                                 Next CompA                
     
    End Sub
    ... la suppression de feuille ne fonctionne plus.
    Chez toi oui?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par buigui Voir le message
    Il manque 1 derrière To

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For CompA = Sheets.Count To 1 Step -1

  5. #5
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2017
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2017
    Messages : 79
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Il manque 1 derrière To

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For CompA = Sheets.Count To 1 Step -1
    Désolé de la mauvaise lecture, merci cela fonctionne, par contre un nouveau problème apparait. Avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub TEST()
                      For CompA = Sheets.Count To 1 Step -1
                                 If Sheets(CompA).Name = "Relances" Then _
                                 Application.DisplayAlerts = False
                                 Sheets(CompA).Delete
                                 Application.DisplayAlerts = True
                                 Next CompA
    End Sub
    ... le feuille "Relances" se supprime bien sans confirmation. Par contre maintenant la macro me propose de supprimer une à une toutes les autres feuilles.. Vois-tu?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par buigui Voir le message
    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
     
    Option Explicit
     
    Sub TEST()
     
    Dim CompA As Integer
     
        For CompA = Sheets.Count To 1 Step -1
            If Sheets(CompA).Name = "Relances" Then
               Application.DisplayAlerts = False
               Sheets(CompA).Delete
               Application.DisplayAlerts = True
            End If
        Next CompA
    End Sub

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/11/2017, 07h17
  2. [Toutes versions] DAO et ADO : Copier dans une variable et non dans une feuille
    Par 4k1r4 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/12/2015, 09h50
  3. copier dans une feuille et coller dans une autre feuille
    Par papa64 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/07/2011, 23h06
  4. Renseigner une liste sans doublon dans une feuille ou dans un userform
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 26/01/2009, 14h54
  5. Recherche de valeur dans une feuille et affichage dans une autre
    Par Zebulon777 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/05/2007, 09h40

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