Masquer une feuille dans listbox automatique

luckiluc

XLDnaute Nouveau
Bonjour le forum
Je reviens vers vous pour demander de l’aide
J’ai crée dans un userform une listbox automatique a partir d’un code récupéré sur internet
Ma listbox marche très bien et même trop bien =elle me récupère la totalité des feuilles de mon classeur et dans ce classeur j’ai une feuille nommé « original » qui ne devrait pas apparaitre
A partir du code si dessous comment es-que je peux faire ?
par avance merci pour vos réponse.
Code:
en 1 dans thisworkbook***********************************************
Private Sub Workbook_Open()
AjouterElementMenu
End Sub
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)
DeleteMenuItem
End Sub

en 2 dan userform (general)**************************************

Option Explicit
Public OriginalSheet As Object
 
Private Sub UserForm_Initialize()
Dim SheetData() As String
Dim ShtNum As Integer
Dim ShtCnt As Integer
Dim Sht As Object
Dim LisPost As Integer
 
Set OriginalSheet = ActiveSheet
ShtCnt = ActiveWorkbook.Sheets.Count
ReDim SheetData(1 To ShtCnt, 1 To 4)
 ShtNum = 1
 For Each Sht In ActiveWorkbook.Sheets
    If Sht.Name = ActiveSheet.Name Then _
    LisPost = ShtNum - 1
SheetData(ShtNum, 1) = Sht.Name
Select Case TypeName(Sht)
    Case "WorkSheet"
    SheetData(ShtNum, 2) = "Feuil"
    SheetData(ShtNum, 3) = Application.CountA(Sht.Cells)
End Select
   ShtNum = ShtNum + 1
    Next Sht
With ListBox1
     .List = SheetData
    .ListIndex = LisPost
End With
End Sub
 
Private Sub ListBox1_Click()
    Sheets(ListBox1.Value).Activate
End Sub


en 3 dans un module********************************** 

Sub AjouterElementMenu()
Dim ViewMenu As CommandBarPopup
Dim NewMenuItem As CommandBarButton
 
'Supprimer le menu s'il existe déjà
Call DeleteMenuItem
 
'Trouver le Menu Affichage
Set ViewMenu = CommandBars(1).Controls("Affichage")
If ViewMenu Is Nothing Then
    MsgBox "Impossible d'ajouter l'élément de menu !"
    Exit Sub
Else
    Set NewMenuItem = ViewMenu.Controls.Add _
    (Type:=msoControlButton)
With NewMenuItem
    .Caption = "&Mon menu"
    .OnAction = "AficheFeuille"
End With
End If
End Sub
 

kjin

XLDnaute Barbatruc
Re : Masquer une feuille dans listbox automatique

Bonjour,
Comprends pas trop ce que tu souhaites faire
Code:
Option Explicit
Option Base 1
 
Private Sub UserForm_Initialize()
Dim ws As Worksheet, Tbl() As Variant, x As Integer
x = 1
For Each ws In ActiveWorkbook.Worksheets
    If ws.Name <> "original" Then
        ReDim Preserve Tbl(4, 1 To x)
        Tbl(1, x) = ws.Name
        Tbl(2, x) = Application.CountA(ws.Cells)
        Tbl(3, x) = "???"
        Tbl(4, x) = "???"
        x = x + 1
    End If
Next
ListBox1.List = Application.Transpose(Tbl)

End Sub
A+
kjin
 

Hulk

XLDnaute Barbatruc
Re : Masquer une feuille dans listbox automatique

Hello Forum, Luckiluc, Kjin,

Je te donne un autre code qui fait ce que tu veux si j'ai bien compris :D
Code:
Private Sub UserForm_Initialize()
    
    Dim WS As Worksheet

    ListBox1.Clear

    For Each WS In Worksheets
        If WS.Name <> ("original") Then ListBox1.AddItem WS.Name
    Next

End Sub

Private Sub ListBox1_Click()
    
    Sheets(ListBox1.Value).Activate

End Sub
J'ai essayé de l'adapter à ton code (que j'ai du mal à comprendre) sans succès.

Cdt, Hulk.
 

luckiluc

XLDnaute Nouveau
Re : Masquer une feuille dans listbox automatique

Bonsoir le forum, bonsoir kjin, bonsoir hulk
merci hulk pour cette réponse ou doije mettre ce code
1 dans thisworkbook ?
2 dans mon userform ou il y a ma listbox ?
3 dans mon module subajoutelementmenu

éventuellement peut tu me faire un exemple avec trois feuille dont une appeler original et une listbox dans un userform qui s ouvre quand je clic sur mon classeur
c a d mon classeur ne se voi pas seul userform avec ma listbox et visible
par avance merci pour votre coup de mains

**************************************
merci hulk je vien d adapter ton code qui marche impeccable

(je ne sais pas bien codé en vb , je suis se que certain appelle un arnaqueur, car je prend des bouts de code ecris sur le forum que j’ incorpore a mon classeur pour le faire fonctionner)

encore une fois grâce a se forum je suis tiré d'un mauvais pas
 
Dernière édition:

Hulk

XLDnaute Barbatruc
Re : Masquer une feuille dans listbox automatique

Re,

Mais non tu n'es pas un arnaqueur c'est comme ça qu'on débute, d'ailleurs ce code n'est pas de moi mais d'un autre (que je félicite au passage) !

Bonne continuation, Hulk.
 

Discussions similaires

Réponses
29
Affichages
970

Statistiques des forums

Discussions
312 352
Messages
2 087 536
Membres
103 581
dernier inscrit
Boodur