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 :

Listbox + nom des onglets


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 138
    Points : 72
    Points
    72
    Par défaut Listbox + nom des onglets
    Bonsoir!
    Je cherche à créer une listebox alimentée par le nom des onglets d'un classeur...
    Pourriez-vous m'aiguiller ?
    Merci

  2. #2
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonsoir,

    une piste,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub UserForm_Initialize()
    Dim tabNomFeuilles As Variant
    Dim I As Integer
    Dim J As Integer
     
    J = ThisWorkbook.Sheets.Count
    ReDim tabNomFeuilles(J)
    For I = 1 To J
        tabNomFeuilles(I) = Sheets(I).Name
    Next I
    ListBox1.List = tabNomFeuilles
    End Sub
    bonne nuit,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  3. #3
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    bonjour,

    La même chose en condensé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub UserForm_Initialize()
     Dim yaF
     ListBox1.Clear
     For Each yaF In ThisWorkbook.Sheets
       ListBox1.AddItem yaF.Name
     Next
    End Su
    JacqueS.

    Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

    Pour devenir mon ami laissez moi un message

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 138
    Points : 72
    Points
    72
    Par défaut
    salut !
    merci de vos réponses...les 2 solutions ne marchent pas chez moi...Peut on utiliser une listbox dans un classeur et non un userform?
    En fait je demandais à l'utilisateur de remplir à la main le nom de la feuille dans une inputbox que je voudrais remplacer par une boite (listbox?)contenant le nom des onglets existants
    Merci à tous

  5. #5
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonjour,

    En fait, on devrait rajouter dans les « Règles du club » un truc du genre : « on n’a souvent que les réponses qu’on mérite »

    Rappel :
    3.3. Message clair et précis
    Quand vous posez une question, soyez aussi précis que possible : quel système et/ou quel outil vous avez, quelle version, quelle édition, etc. Que souhaitez vous faire au juste ? Si votre question n'est pas suffisamment précise, personne ne pourra vous aider.

    De même, lorsque vous postez une réponse, essayez de la commenter de manière à la rendre facilement compréhensible par tous.

    Évitez aussi de poster un lien seul sans aucun commentaire. D'une part, il est préférable de donner une réponse sur le forum plutôt que de renvoyer vers un autre site qui renvoie potentiellement vers encore un autre, etc. D'autre part, les liens conduisent le plus souvent à une documentation complexe et fastidieuse à lire même pour celui qui cherche une réponse. De plus, la plupart des liens deviennent "mort" après moins d'un an, ce qui rend la solution indisponible pour quiconque ferait une recherche sur le forum par la suite.
    Bon on pourrait dire aussi à Ormonth et JackOuYa que le deuxième paragraphe s’applique aussi

    Quoiqu’il en soit, tu as provoqué 2 réponses cohérentes faites par des gens qui ont, bénévolement, un WE, passé du temps à les construire, pour dire "ça ne vas pas" car ils n’ont pas su deviner ce que tu n’avais pas dit et que tu ne dis toujours pas car selon que ta manœuvre vise à désigner une feuille existante ou à en rajouter une les réponses vont différer et on ne sera pas plus avancés…

    Les fautifs, sont au final Ormonth et JackOuYa vu qu'ils n'ont pas à répondre à n'importe quoi

    Cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  6. #6
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Citation Envoyé par Ormonth Voir le message
    ....
    Les fautifs, sont au final Ormonth et JackOuYa vu qu'ils n'ont pas à répondre à n'importe quoi
    ...r
    oui mais à ce moment la tu est obligé de poser plus de questions que l'auteur de la discussion ..

    par exemple il nous à toujours pas dit de qu'elle boite à outils il avait sorti sa list box .. et qu'el était son nom (à la listbox..)
    JacqueS.

    Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

    Pour devenir mon ami laissez moi un message

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 138
    Points : 72
    Points
    72
    Par défaut
    ou lala...milles excuses!
    J'étais en train de reconstruire le projet pour le faire dans un userform...
    Voici le code :
    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
    Private Sub UserForm_Initialize()
     Dim yaF
     ListBox1.Clear
     For Each yaF In ThisWorkbook.Sheets
       ListBox1.AddItem yaF.Name
     Next
     
    End Sub
     
    Private Sub CommandButton1_Click()
    UserForm1.Hide
    End Sub
     
    Private Sub ListBox1_Click()
     
     
     End Sub
    Le probleme est qu'il n'y a que feuil1 qui apparaisse dans la listbox
    Merci et désolé pour les imprécisions de départ

  8. #8
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Citation Envoyé par captaine93 Voir le message
    ou lala...
    Le probleme est qu'il n'y a que feuil1 qui apparaisse dans la listbox
    Merci et désolé pour les imprécisions de départ
    Et il y as combien de feuille dans "ThisWorbook" (le classeur dans le quel tu as mis ton userform ) ?
    JacqueS.

    Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

    Pour devenir mon ami laissez moi un message

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 138
    Points : 72
    Points
    72
    Par défaut
    il y a 3 feuilles dans ThisWorkbook

    Merci de ton aide

  10. #10
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    3 feuilles de calcul ??

    je vois pas, essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       ListBox1.AddItem Thisworkbook.name & " :" & yaF.Name
    JacqueS.

    Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

    Pour devenir mon ami laissez moi un message

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 138
    Points : 72
    Points
    72
    Par défaut
    ca repond "perso.xls:Feuil1" et c est tout...
    ThisWorkbook est une feuille classique avec 3 onglets "feuil1", "feuil2"...
    mais je ne veux pas faire addItem manuellement car ThisWorkbook pourrait etre un autre classeur
    Merci

  12. #12
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut


    ThisWorkbook : c'est TOUJOURS le classeur dans lequel tu met ton code
    ici : perso.xls .. c'est bien lui qui à trois feuilles ?
    JacqueS.

    Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

    Pour devenir mon ami laissez moi un message

  13. #13
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Ce que veut dire Jackouya (qui ne m'en voudra pas de préciser...) c'est que tu dois nommer le classeur concerné
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    For each LaFeuille in Workbooks("Nom du classeur en question").Sheets '.count corrigé grâce à Oeil-de-Linx allias Jackouyal'oeil
         'gnagnagna Additem blabla

  14. #14
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Citation Envoyé par ouskel'n'or Voir le message
    Ce que veut dire Jackouya (qui ne m'en voudra pas de préciser...) c'est que tu dois nommer le classeur concerné
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    For each LaFeuille in Workbooks("Nom du classeur en question").Sheets.count
         'gnagnagna Additem blabla
    oui sans le "count" ..


    où bien si tu veu travailler sur le classeur actif (celui au premier plan) .. tu peu mettre ActiveWorkbook à la place de thisWorkbook.
    JacqueS.

    Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

    Pour devenir mon ami laissez moi un message

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 138
    Points : 72
    Points
    72
    Par défaut
    Ok, merci à tous de m'avoir aidé...
    En fait, j'avais enregistré mon userform dans le classeur de macro perso et non dans cette feuille...Désolé mais je ne suis pas famillier avec les userform...
    En tout cas un grand merci à vous tous qui faites vivre ce forum et répondez à des gens pas toujours très précis

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

Discussions similaires

  1. Recenser les noms des onglets
    Par Billou265 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/09/2010, 12h49
  2. [VBA Excel] Listbox, nom des colonnes et couleur des lignes
    Par Tutures dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/03/2008, 16h24
  3. [VBA-E] Récupérer les noms des onglets
    Par a.dequidt dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/09/2007, 10h54
  4. Extraction nom des onglets d'un dessin autocad?
    Par Vbapprentis dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/06/2007, 12h58
  5. [VBA-E] nom des onglets
    Par mulanzia2003 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/03/2006, 10h56

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