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 :

Rechercher un onglet via son nom


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
    Avril 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 59
    Par défaut Rechercher un onglet via son nom
    Bonjour à tous,
    Je ne comprend pas pourquoi mon code ne marche pas: j'ai plusieurs onglets dans mon fichier excel, et ils commencent tous pas "absences_" et je voudrais supprimer l'onglet dont le nom est "abscences_" & l , l étant une variable définie plus haut et dont la valeur est la suite du nom de l'onglet!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    dim l as variant
    l = SupprimerMatiere.ListMatiere.Text
    Dim s As Variant
    For Each s In Worksheets
         If Sheets(s).Name = "absence_" & l Then
              Sheets(s).Delete
         End If
    Next
    Si qqun peut m'aider...
    Merci d'avance
    Bonne journée
    Bubale

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

    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Sheets(s).Name = "absence_" & l Then
    il faut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If left(Sheets(s).Name ,7)= "absence" Then
    à plus

  3. #3
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    Bonjour à tous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim s As Variant
    For Each s In Worksheets
         If Sheets(s).Name = "absence_" & l Then
              Sheets(s).Delete
         End If
    Next
    en definissant s en Variant, tu lui indiques de prendre le format qui lui sera affecté en foction de l'ordre choisi
    or dans ton ordre for each tu lui affectes un format objet de type worksheet

    donc tu dois l'utiliser comme cet objet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if s.name = "absence_" & l then 
         s.delete
    end if
    je dois te preciser qu'un message automatique va te demander la confirmation de la suppression de la feuille. si tu veux enlever ce message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if s.name = "absence_" & l then
         application.displayalerts = false
         s.delete
         application.displayalerts = true
    end if
    bonne journée

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 59
    Par défaut
    Dsl, j'ai pas été très clair!
    Non, en fait, tous les onglets commencent par "absences_", mais ils ont chacun un nom différents (genre "absences_maths" ou "absences_anglais"..) et le nom de la matiere est contenu dans la variable l. Je ne veux pas supprimer tous les onglets qui commencent par "absences_" mais uniquement l'onglet "absences_" & l !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 59
    Par défaut
    Ok, merci Wilfried, je n'avais pas lu ton post avant de répondre!
    Merci,ca marche!
    Bonne journée

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

Discussions similaires

  1. Appeler une méthode d'objet via son nom à l'exécution
    Par Nono40 dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 09/02/2013, 11h51
  2. [DOM] appeler une fonction via son nom (qui est une string)
    Par elekis dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/07/2008, 13h06
  3. Trouver un objet via son nom
    Par rvdth dans le forum Windows Forms
    Réponses: 7
    Dernier message: 29/03/2008, 13h58
  4. JS: Connaître le type d'un champ HTML via son nom
    Par NikoBe dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 02/11/2006, 11h24

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