Récupération d'une liste d'onglet

rlebigre

XLDnaute Nouveau
Bonjour à tous,

Je commence dans la programmation d'UserForm sous Excel. J'ai créer un UserForm avec des listes déroulantes.

Le problème que je rencontre, c'est de récupérer les noms de certains onglets afin de les mettre dans la ComboBox de mon userform.

Je bloque sur ce problème depuis pas mal de temps.

Merci à tout ceux qui pourront me donner un coup de main.

A+
 

Robert

XLDnaute Barbatruc
Repose en paix
Boujour Rlebigre, bonjour le forum,

À l'initialisation de ton UserForm Private Sub UserForm_Initialize(), tu peux faire comme ça :


Dim x as integer
For x = 1 to Sheets.Count
ComboBox1.Additem Sheets(x).Name
next x
ou bien comme ça:

dim Sh as Worksheet
For Each Sh in Sheets
ComboBox1.Additem Sh.Name
next Sh

pour obtenir la liste de tous les onglets.
 

Dugenou

XLDnaute Barbatruc
Salut,

En VBA je ne sais pas faire, mais je tiens de la géniale Monique la formule suivante pour afficher le nom de l'onglet dans une cellule. Ensuite tu n'as plus qu'à récupérer le contenu de la dite cellule.

A coller directement dans la cellule :
=STXT(CELLULE('filename';A1);TROUVE(']';CELLULE('filename';A1))+1;32)

plus de détails sur Lien supprimé

Cordialement
 
R

Rlebigre

Guest
Bonjour et merci de votre réponse.

Cela me convient sur le fond mais j'ai oublié de préciser que je désirais ne voir apparaitre dans la liste que certains noms d'onglets comportant certains mots.

Desole de vous ennuyer à nouveau

Salut

Message édité par: rlebigre, à: 29/06/2005 20:22
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir le fil, bonsoir le forum,

R le laconique bigre ! on veut bien t'aider mais faudrait peut-être que tu daignes nous en dire plus. Avec un If... Then ça doit pouvoir se résoudre mais encore faut-il connaître le mot et dans quelle cellule (plage ou colonne) il se trouve.


dim Sh as Worksheet
For Each Sh in Sheets
If Sh.Range('A1').Value = 'Ton Mot' Then ComboBox1.Additem Sh.Name
next Sh
 

rlebigre

XLDnaute Nouveau
Re-Bonjoour à tous,

Merci pour les qolutions que vous m'avez donné.

J'ai mis en oeuvre ce que vous m'avez indique.

J'ai un autre problème maintenant.
J'ai créer mon UserForme pour acceder à mes onglets de classeur. Ca marche sans problème.

Le problème est quand je retourne sur mon userform, j'ai le nom de l'onglet que je viens de parcourir est marque dans ma combobox de mon UserForm

J'ai essayé toutes les solutions que je connais (c'est à dire peu) pour faire une RAZ de mes combobox sans résultats.

Merci d'avance pour l'aide que vous me donnerez.

A+
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Rlebigre, bonsoir le forum

Pas sûr du tout de ce que j'avance car comme d'hab' tu est resté concis... Je pense que tu fermes ton UserForm avec la commande UserForm1.Hide qui le cache mais ne le vide pas. Essaie plutôt Unload UserForm1 ou, Unload Me si le code est écris dans le composant UserForm1 lui-même. Cela va le vider de la mémoire et le fermer. Lors de sa nouvelle utilisation tous les contrôles seront vierges. Dis-moi si c'est ça...
 

rlebigre

XLDnaute Nouveau
Bonsoir Robert, bonsoir le forum

Ca marche superbement bien ton truc (Unload Userfomr1).

Je cherche à pofiner mon truc. Est-ce quelqu'un connais la fonction pour récupérer les noms des onglets contenu dans un classeur.

Je m'explique.
J'ai un classeur de 10 feuilles.
Je souhaiterais récupérer dans une collone d'une feuille de mon classeur, les noms d'onglets comportants certains caractères. Dans une autre les noms d'onglets comportant d'autres caractères

Merci d'avance.

A+

Message édité par: rlebigre, à: 03/07/2005 14:37
 

Discussions similaires

Réponses
1
Affichages
121
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 285
Messages
2 086 783
Membres
103 391
dernier inscrit
lrol