Selection de feuilles

  • Initiateur de la discussion G'Claire
  • Date de début
G

G'Claire

Guest
Salut a toutes et tous

J'utilse une démo qu'a fait @Thierry, pour ouvrir une feuille masquée.

Ma question :

1) Est-il possible dans la listbox de faire apparaitre les feuilles selon un critère.

Ex :

J'ai des feuilles qui se nomment :


AAA 01.01
AAA 01.02
AAA 02.02
AAA 02.02
BBB 01.01
BBB 01.02
BBB 02.01
BBB 02.02

Dans ce cas d'exemple j'aimerais faire apparaitre dans ma ListBox que les feuilles commencant par AAA

Merci encore pour votre aide, G'Claire
 
R

Robert

Guest
Bonjour,

les modifications se trouvent à l’initialisation de la boite de dialogue “ Activer une feuille / Réactiver une feuille masqué ” (FrmFeuille) : Private Sub UserForm_Initialize().

Robert
 

Pièces jointes

  • SelectFeuillesOK.zip
    17.5 KB · Affichages: 36
G

G'Claire

Guest
Bonjour au forum

Merci Robert, c'est super je l'ai réadapter car les mots dans les onglets avaient plus de trois lettres et j'avais deux choix possibles.

Par contre comment je pourrais faire si la ListBox est vide et que je clique sur Ok, cela me mets un message d'erreur et ouvre le débogueur?

Merci, beaucoup, G'Claire
 
G

G'Claire

Guest
Robert

Merci de cette réponse, je voudrai revenir a une feuille certaine, es-ce possible.

Je voulais rajouter Feuill6.activate aprés then mais cela ne fonctionne pas

(If ListBox1 = "" Then Feuill6.activate )

Merci, G'Claire
 
G

G'Claire

Guest
Zon

Merci pour ta réponse, mais cela bugg soit au niveau du code

sheets("Feuill6").activate

Si je mets ce code,

If ListBox1 = "" Then sheets("Feuill6").activate


soit juste aprés

Private Sub BoutonOK_Click()


Dans le code d'origine de la démo

Merci, G'Claire
 
G

G'Claire

Guest
Robert

J'ai bien fait comme tu m'as ecrit, mais cela me donne un bugg a ce niveau :

Sheets("Feuill6").Activate

Voila le code de Thierry, avec la modification

'La procédure OKBouton_Click crée une variable objet qui représente
'la feuille séléctionnée. Si la feuille est visible, elle est activée
'Si elle n'est pas visible, l'utilisateur peut la rendre visible à
'l'aide d'une boîte de dialogue. Si l'utilisateur répond Oui, la feuille
'est affichée et activée. Autrement, la feuille initiale est activée
'(enregistrée dans une variable objet nommée FeuilleOriginale)
'--------------------------------------------------------------------
Private Sub BoutonOK_Click()

If ListBox1 = "" Then
Sheets("Feuill6").Activate
End
End If

Dim FeuilleAfficher As Object
Set FeuilleAfficher = Sheets(ListBox1.Value)
If FeuilleAfficher.Visible Then
FeuilleAfficher.Activate
Else
If MsgBox("Réafficher cette Feuille ?", _
vbQuestion + vbYesNoCancel) = vbYes Then
FeuilleAfficher.Visible = True
FeuilleAfficher.Activate
Else
FeuilleOriginale.Activate
End If
End If
Unload Me
End Sub

Merci, G'Claire
 
R

Robert

Guest
Bonjour à tous,

Bon G'Claire, je ne comprends pas car avec moi ça marche. Peut-être Zon a-t-il raison. Méfie-toi bien de la syntaxe.
D'après ton code tu demandes l'activation d'une feuille qui s'appelle "Feuill6"
Est-ce bien "Feuill6" (feuil 16) ?
ou bien "Feuil6" (feuil 6) ?
ou "Feuill6" (feuil L6)
Si ces deux feuilles existent ton erreur est ailleurs. Sinon vérifie. Au pire, renomme la feuille et remplace le code.

Robert
 
G

G'Claire

Guest
Robert et Zon

Je suis vraiment confu, j'ai tendance a oçublier si on choisi le nom de la feuil (Dans mon cas "Tool_menu" et le nom inscrit dans l'exploreur de projet "Feuil6"), comment éviter cette erreur? car c'est pas la première fois, et il me semble que l'on peu utiliser les deux mais avec une synthaxe différente.

Par quel moyen je pourrais avoir un avertissement que ma ListBox et vide en cliquant sur ok et que cela me renvoi vers un autre choix?

Mille excuses, et merci, G'Claire
 
Z

zon

Guest
Bonjour à tous,



Heureux d'être de retour aprés bien des péripéties avec F... T...,


G'claire, tu as un pb dans ton code il me semble il ya une "end" de trop,


Private Sub BoutonOK_Click()

If ListBox1 = "" Then
Sheets("Feuill6").Activate
End'''''''''''''''''''''à SUPPRIMER
End If


soit tu écris plus simplement

Private Sub BoutonOK_Click()

If ListBox1 = "" Then Sheets("Feuill6").Activate



A+++
 

Discussions similaires

Réponses
7
Affichages
619

Statistiques des forums

Discussions
312 864
Messages
2 093 012
Membres
105 605
dernier inscrit
Toto2024