XL 2019 listview affiche le nom des onglets

Yann71

XLDnaute Occasionnel
Bonjour la com. Je ne sais pas si c'est réalisable. J'aimerai que ma listview et affiche le nom de mes onglets,
déjà existant et ceux que je pourrai ajouter ainsi que si je sélectionne le nom de l'onglet qu'il permet de me rendre
sur cette page.
Merci pour votre aide futur.
 

Eric C

XLDnaute Barbatruc
Bonjour le forum
Bonjour Yann71

Essayé avec ListView et pas réussi pour l'activation de la feuille sélectionnée...
Je te mets le code qui fonctionne parfaitement avec un ComboBox :
VB:
Option Explicit
 
Private Sub ComboBox1_Change()
Worksheets(ComboBox1.Text).Select
Unload Me
End Sub
 
Private Sub Userform_Initialize()
 Dim Ws As Worksheet
 For Each Ws In ActiveWorkbook.Worksheets
ComboBox1.AddItem Ws.Name
Next Ws
End Sub

Bonne journée à toutes & à tous
@+ Eric c
 

Yann71

XLDnaute Occasionnel
Bonjour le forum
Bonjour Yann71

Essayé avec ListView et pas réussi pour l'activation de la feuille sélectionnée...
Je te mets le code qui fonctionne parfaitement avec un ComboBox :
VB:
Option Explicit
 
Private Sub ComboBox1_Change()
Worksheets(ComboBox1.Text).Select
Unload Me
End Sub
 
Private Sub Userform_Initialize()
 Dim Ws As Worksheet
 For Each Ws In ActiveWorkbook.Worksheets
ComboBox1.AddItem Ws.Name
Next Ws
End Sub

Bonne journée à toutes & à tous
@+ Eric c
Bonjour Eric, merci pour ton aide, j'ai déjà un Userform avec une ComboBox, mais je recherche toutefois avec une ListView, pour autant qu'il est possible.
 

ChTi160

XLDnaute Barbatruc
Bonsoir vgendron
le Code que j'ai mis Lol
VB:
Private Sub CommandButton1_Click()
Unload Me
End Sub

Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
With Me.ListView1
  NameWs = .ListItems(Item.Index)
  ' ou NameWs = Item.Text
     Worksheets(NameWs).Select
End With
End Sub

Private Sub UserForm_Initialize()
With Me.ListView1
       .ColumnHeaders.Add , , "Feuilles", .Width
       .Gridlines = True
       .MultiSelect = False
       .ListItems.Clear
    For Each Ws In Worksheets
          .ListItems.Add , , Ws.Name  
    Next Ws
End With
End Sub
Marrant Non ? Lol
Bonne fin de Soirée
Jean marie
 
Dernière édition:

Yann71

XLDnaute Occasionnel
Hello

un essai:
VB:
Private Sub UserForm_Initialize()
For Each ws In ActiveWorkbook.Sheets
    Me.ListView1.ListItems.Add , , ws.Name
Next ws
End Sub

des infos ici
Bonjour le forum. Merci vgendron. Ton code correspond à ce que je recherche, mais tu ne m'en voudras, celui de Chti160 est plus élaboré. Bonne journée et merci encore.
Yann
 

Eric C

XLDnaute Barbatruc
Bonjour le forum
Bonjour Yann, vgendron, Jean-Marie

J'étais arrivé au stade de notre ami vgendron pour l'alimentation de la ListView mais ne parvenais pas à la sélection des onglets via ce contrôle. Merci à notre ami Jean-Marie pour la finalisation.
Bonne journée à toutes & à tous
@+ Eric c
 

Yann71

XLDnaute Occasionnel
Bonsoir vgendron
le Code que j'ai mis Lol
VB:
Private Sub CommandButton1_Click()
Unload Me
End Sub

Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
With Me.ListView1
  NameWs = .ListItems(Item.Index)
  ' ou NameWs = Item.Text
     Worksheets(NameWs).Select
End With
End Sub

Private Sub UserForm_Initialize()
With Me.ListView1
       .ColumnHeaders.Add , , "Feuilles", .Width
       .Gridlines = True
       .MultiSelect = False
       .ListItems.Clear
    For Each Ws In Worksheets
          .ListItems.Add , , Ws.Name 
    Next Ws
End With
End Sub
Marrant Non ? Lol
Bonne fin de Soirée
Jean marie
Bonjour Jean-Marie, toujours autant réactif et plein de bonne idée. Je te remercie pour ton code, cela correspond à ce que je recherchai en vain. Par contre, j'ai un petit soucis, j'ai du texte qui est plus long que d'autre. Exemple Janvier s'affiche sur une seule ligne tandis que Décembre, le e de celui-ci se trouve sur une 2ème ligne. Est.il possible d'ajuster la longueur du texte.
 

Discussions similaires

Réponses
1
Affichages
148
Réponses
19
Affichages
1 K

Statistiques des forums

Discussions
312 103
Messages
2 085 325
Membres
102 862
dernier inscrit
Emma35400