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 :

Savoir si une feuille existe


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Points : 382
    Points
    382
    Par défaut Savoir si une feuille existe
    Bonjour,

    Comment savoir si une feuille existe déja, pour pouvoir éventuellement la détruire avant de la créer

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Points : 382
    Points
    382
    Par défaut
    Merci du lien, mais cette solution se base sur On Error, j'y avais pensé et je voulais éviter.

    Par exemple sous VBA Word je connais l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ActiveDocument.Bookmarks.Exists(signet) = True
    pour savoir si un signet existe, je pensais que ce genre d'instruction existait probablement aussi sous VBA Excel pour une feuille, d'ailleur j'en au aussi besoin pour savoir si un classeur existe.

    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Points : 382
    Points
    382
    Par défaut
    Autre question, comment connaitre le nombre de feuille ?

    C'est une autre solution pour résoudre mon problème,, je supprime toute les feuille de la 3 à la nème, avant de lancer ma macro.

    Mais la réponse à la première question m'interesse aussi, pour ma culture personnellle

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 121
    Points : 119
    Points
    119
    Par défaut
    tu peux avoir le nombre de feuille d'un classeur avec :


  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Points : 382
    Points
    382
    Par défaut
    Merci

    J'ai essayé de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    For i = 1 To Sheets.Count
        Worksheets(i).Delete
    Next

    Mais ca ne marche pas car quand j'en Delete un les autres changent de numéro

    Comment faire la boucle inverse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = Sheets.Count To 2
        Worksheets(i).Delete
    Next
    et décrémenter i (by -1 ??)

  7. #7
    Membre éclairé Avatar de laloune
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2005
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2005
    Messages : 485
    Points : 875
    Points
    875
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For i = Sheets.Count To 2 Step - 1
    enjoy

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Points : 382
    Points
    382
    Par défaut
    Autant pour moi, j'ai posé la question trop vite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = Sheets.Count To 2 Step -1
        Worksheets(i).Delete
    Next
    Ceci m'amène à une autre question, pour chaque Delete il me demande une confirmation, comment l'eviter ?

  9. #9
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 790
    Points : 3 056
    Points
    3 056
    Par défaut
    • Dans l'objet Applicaztion de Excel, il existe une propriété pour désactiver la demande de confirmation.
    • Lors du delete des feuilles, fais gaffe à au moins en laisser une. Excel exige qu'un workbook contienne au moins une feuille
    • Il n'existe pas à ma connaissance de truc plus simple qu'un ON ERROR pour détecter si une feuille existe ou non. Tu pourrais lister toutes les feuilles mais c'est plus long et à programmer et à exécuter.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Points : 382
    Points
    382
    Par défaut
    Ok merci, je laisse bien une feuille car je fais Until i = 2 par contre comment on fait pour désactiver la confirmation de la suppression par l'objet application ?

    Je fait To 2, lol, je mélange les langages

  11. #11
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Points : 520
    Points
    520
    Par défaut
    Citation Envoyé par Eric93 Voir le message
    comment on fait pour désactiver la confirmation de la suppression par l'objet application ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.DisplayAlerts = False
    Il faut penser à remettre à True quand tu as fini de faire ce pour quoi tu ne veux pas qu'il t'alerte...

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Points : 382
    Points
    382
    Par défaut
    Super, merci beaucoup

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

Discussions similaires

  1. [VBA-E]Savoir si une sheets existe
    Par wind_vinch dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/10/2005, 14h31
  2. [Excel] comment savoir si une feuille est ouverte ?
    Par scully2501 dans le forum Access
    Réponses: 11
    Dernier message: 07/10/2005, 15h02
  3. comment savoir si une table existe dans la base?
    Par isa21493 dans le forum ASP
    Réponses: 6
    Dernier message: 01/09/2005, 17h09
  4. Savoir si une table existe
    Par Sydaze dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/06/2005, 11h22
  5. [URL] Comment savoir si une URL existe?
    Par jse dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 07/10/2004, 15h33

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