Suppression de feuilles datées

bonjour

juste une petite question , le code suivant me permet de retirer un bon nombre de feuilles choisies dans mon classeur

par contre si les onglets sont nommés sous forme de date j'obtiens une incompatibilité de type , comment pourrais - je definir

ma variable N dans le code suivant pour qu'il puisse marcher?

Sub SuppFeuille()
Dim i As Integer
Dim N As Date
    Application.DisplayAlerts = False
    For i = Sheets.Count To 1 Step -1
        N = Sheets(i).Name
        If IsNumeric(N) Then
            If Val(N) > 25 avril 2012  And Val(N) <25 mai 2012 Then
                Sheets(i).Delete
            End If
        End If
    Next i
    Application.DisplayAlerts = True
End Sub

(par contre je ne dois pas enveler une feuille nommée "compta")

Merci pour vos réponses

Salut Rocket,

Je te propose un code un peu différent qui efface toutes les feuilles comportant une date comprise entre les deux dates indiquées sur la feuille "Compta", en A1 et A2.

Sub SuppFeuille()
Dim i As Integer
Application.DisplayAlerts = False

    For i = Sheets.Count To 1 Step -1
    If Not IsDate(Sheets(i).Name) Then
        GoTo Etiquette
    Else
        If Format(Sheets(i).Name, 0) > Format(Sheets("Compta").Range("A1"), 0) And Format(Sheets(i).Name, 0) < Format(Sheets("Compta").Range("A2"), 0) Then
            Sheets(i).Delete
        End If
    End If

Etiquette:
    Next i

Application.DisplayAlerts = True
End Sub

A te relire.

Cordialement.

15rocket.zip (11.25 Ko)

Merci Yvouille pour ton fichier , je viens de le tester , visiblement ca ne répond pas ......


je me demandais si le format de date en a1 et a2 du type 01/01/01 n'est pas compatible avec des onglets nommés en 01.01.2001 ?

Salut,

J'ai bien entendu testé le fichier chez moi avant de psoter et ça fonctionne parfaitement.

Les différents formats sur la feuille "Compta" et dans le nom des onglets sont uniformisés par les codes Format(xxxx, 0).

As-tu essayé mon fichier lui-même ou as-tu transféré mon code dans un autre fichier ?

Amicalement.

j'ai directement essayé ton fichier ......


j'ai fait un essai entre les dates 01/02/2011 et 25/05/2012 aucune suppression de feuille !

Re,

J'avais créé ce code sur un PC ayant Excel 2007 et je me demandais si ça pouvait provenir d'une différence de version. J'ai maintenant pu tester mon fichier sur un portable ayant Excel 2003 et ça fonctionne tout autant. Tu as la version 2002, mais elles doit être très proche de la version 2003.

Combien de feuilles visibles as-tu avant de lancer la macro ?

Est-ce que quelqu'un d'autre peut dire s'il a aussi des problèmes avec ce code ?

enfin trouvé pourquoi , ton code marche parfaitement bien , j'ai juste changé les dates sur les onglets de feuilles

ton fichier donnait des dates du type 12.05.2012 en onglet j'ai simplement remplacé les points par des tirets de sorte que les onglets

soient nommés sous la forme 15-05-2012 ... c'est résolu , merci d'avoir consacré de ton temps pour ce post et pour les réponses

Désolé ! J'ai déjà eu plusieurs fois des problèmes avec le format de dates usuel en Suisse et j'aurais dû penser que le problème pouvait venir de là

Sur mon PC je vois des dates au format jj.mm.aaaa dans les cellules et dans le nom des onglets

capture 17 05 c

Toi, lorsque tu ouvres mon fichier, que vois tu exactement ? Le format jj-mm-aaaa dans les cellules et le format jj.mm.aaaa dans le nom des onglets ???

A te relire.

lorsque j'ouvre ton fichier je vois le format : 25/04/2012 et 25/05/2012 dans les cellules A1 et A2 et au niveau des onglets

des dates sous la forme 24 . 04 . 2012 donc le jour , le mois et l'année séparés par des points


voici ce que je vois :

capture01

Ok, merci beaucoup pour ta réponse. A penser à l'avenir

Bonne journée.

Rechercher des sujets similaires à "suppression feuilles datees"