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 :

Lister les onglets


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
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 123
    Par défaut Lister les onglets
    Bonjour,

    J'aimerais avoir une petite aide au sujet de mon code.

    Ce code permet de lister les onglets. Cependant, je voudrais qu'il commence a lister qu'à partir de l'onget "Modèle"....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub lister()
    Dim j As Integer
     
    z = 4
    For j = 1 To Sheets.Count
    Cells(z, 5) = Worksheets(j).Name
    z = z + 1
    Next j
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    je voudrais qu'il commence a lister qu'à partir de l'onget "Modèle"....
    je crains que cela ne veuille pas dire grand-chose dans la mesure où les onglets peuvent à tout moment être déplacés (y compris par inadvertance/maladresse) et se retrouver donc avec un index autre que celui attribué à l'origine.
    Tu peux cependant y parvenir sans complications, mais à condition de faire précéder leur nom d'un préfixe et d'attribuer des préfixes dans l'ordre alphabétique (il ne resterait alors plus qu'à les trier)

  3. #3
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub lister()
    Dim j As Integer
     
    z = 4
    For j = Sheets("Modèle").index To Sheets.Count
    Cells(z, 5) = Worksheets(j).Name
    z = z + 1
    Next j
    End Sub

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    très astucieux de boucler à partir de l'index de la feuille Modele

    mais attention, tester au préalable son existence ne sera pas du luxe

    et surtout, traiter la collection Sheets OU la collection Worksheets, mais ne pas hybrider les deux

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Quid si (comme je l'ai évoqué dans mon message plus haut), les onglets sont déplacés (par inadvertance ou maladresse) ?
    L'ordre des index s'en trouvera modifié et lister à partir de l'index de l'un d'entre eux ne donnera alors pas le résultat souhaité.

    Prendre alors au moins (si cette solution est retenue) la précaution d'empêcher de tels déplacements (en masquant, par exemple, la barre des onglets).

  6. #6
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    J'ai peut-être mal compris le problème.
    C'est ainsi qu'il faut procéder, si son souhait est TRES exactement de "lister les feuilles situées après la feuille X, à un instant T".

    Quoi qu'il en soit, la fatigue n'est jamais bon amie, je me rend compte que boucler sur toute la collection ou en partant de la feuille en question, ça revient un peu au même au final. On y gagne quelques éventuelles feuilles non testées mais au prix d'un test d'existence.

    Je laisse quand même mon pour la note artistique

  7. #7
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Citation Envoyé par joe.levrai Voir le message
    mais attention, tester au préalable son existence ne sera pas du luxe
    En effet, mais vu la demande j'avais supposé qu'elle existe forcément.

    et surtout, traiter la collection Sheets OU la collection Worksheets, mais ne pas hybrider les deux
    J'ai recopié son code j'ai juste changé la partie en gras, je n'avais pas vu ce détail

  8. #8
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Bonjour,
    Autre solution (non testé : sur mon phone), car apparemment on ne liste pas tous les onglets …
    On récupère l'index de la feuille modèle puis on boucle à partir de son index to sheets.Count
    Schématiquement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub lister()
    Dim j As Integer
    'Ici Récupération de l'index de la feuille modèle (j'ai pas le code en tête) 
    z = 4
    For j = indexDeMaFeuilleModele To Sheets.Count
    Cells(z, 5) = Worksheets(j).Name
    z = z + 1
    Next j
    End Sub
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

Discussions similaires

  1. [WD21] Lister les onglets ouverts dans le navigateurs internet
    Par LeonCosnyd dans le forum WinDev
    Réponses: 3
    Dernier message: 13/01/2017, 11h03
  2. Lister tous les onglets d'un TabControl
    Par mekongtso dans le forum C#
    Réponses: 1
    Dernier message: 24/12/2014, 15h54
  3. Lister les softs installés sur un Pc
    Par Jflgb dans le forum C++Builder
    Réponses: 18
    Dernier message: 23/06/2004, 17h34
  4. [VB6] [Réseau] Lister les ordinateurs du réseau
    Par CYFL dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/12/2002, 09h25
  5. [TP]Lister les fichiers d'un répertoire
    Par nvtitan dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 21/06/2002, 11h22

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