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 :

Problème de suppression de feuille


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Problème de suppression de feuille
    Bonjour,

    Le code suivant génère des erreurs que je parviens pas à résoudre :
    (c'est la première partie que l'on teste => "extracteurs Journaliers" la feuille est supprimmée avec les messages d'erreurs suivants)

    Erreur d'exécution 424 : Objet requis
    parfois précédé de "Impossible d'entrer en mode arrêt maintenant

    J'ai vérifié sur dans l'aide / en faisant une macro / sur le net. Il me semble que les instructions sont bonnes pourtant. Je pensais que c'était à cause du For Each (perte d'un objet de la collection) mais quand je sors le code de la boucle avec le nom de la feuille directement dans le code j'ai la même erreur.

    Je précise que l'on supprime une feuille à partir d'une autre feuille.
    La même commande faite depuis un module produit la même erreur

    Merci d'avance pour vos conseils.

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    For Each Sh In ThisWorkbook.Worksheets
     
    '       Cas des extracteurs Journaliers.
            If Left(Sh.Name, 5) = TYPE_EXTR_J And _
                  Len(Sh.Name) > Len(ONGLET_EXTRACTEUR_J) Then          
     
                    Application.DisplayAlerts = False
                    Sh.Delete
                    Application.DisplayAlerts = True
     
            End If
    '       Cas des extracteurs Horaire Multi-Journalier.
     
        If Not Sh Is Nothing Then
     
            If Left(Sheets(Sh.Index).Name, 5) = TYPE_EXTR_HMJ And _
                  Len(Sheets(Sh.Index).Name) > Len(ONGLET_EXTRACTEUR_HMJ) Then
     
                   Application.DisplayAlerts = False
                   Application.Worksheets(Sheets(Sh.Index).Name).Delete
                   Application.DisplayAlerts = True
     
            End If
        End If
     
    Next

  2. #2
    Membre actif
    Inscrit en
    Février 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 208
    Points : 246
    Points
    246
    Par défaut
    bonjour

    essaye ce code modifié :
    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
    16
    17
    18
    19
        For Each Sh In ThisWorkbook.Worksheets
            ' Cas des extracteurs Journaliers.
            If Left(Sh.Name, 5) = TYPE_EXTR_J And _
                Len(Sh.Name) > Len(ONGLET_EXTRACTEUR_J) Then
     
                Application.DisplayAlerts = False
                Sh.Delete
                Application.DisplayAlerts = True
            Else
                ' Cas des extracteurs Horaire Multi-Journalier.
                If Left(Sheets(Sh.Index).Name, 5) = TYPE_EXTR_HMJ And _
                    Len(Sheets(Sh.Index).Name) > Len(ONGLET_EXTRACTEUR_HMJ) Then
     
                    Application.DisplayAlerts = False
                    Application.Worksheets(Sheets(Sh.Index).Name).Delete
                    Application.DisplayAlerts = True
                End If
            End If
        Next
    dans ton code initial, après la suppression de la feuille dans le premier cas, la commande "If Not Sh Is Nothing Then" détectait quelque chose pour "Sh" et "Sh.Index" provoquait l'erreur car la feuille correspondante venait d'être supprimée.
    à plus

Discussions similaires

  1. [XL-2010] Problème de suppression des données dans une feuille
    Par juju05 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/12/2014, 10h16
  2. Problème de suppression du code dans une feuille
    Par Denis_67 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/05/2011, 20h50
  3. Problème lors de la suppression de feuilles
    Par Ploucouille dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/02/2008, 12h59
  4. [Excel - VBA] Problème de suppression de lignes...
    Par beholder2 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/01/2005, 17h27
  5. Réponses: 4
    Dernier message: 16/04/2004, 08h20

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