Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Classeur avec liste déroulante

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Hugues

XLDnaute Impliqué
Bonjour Le Forum,

Je souhaiterais une aide pour finaliser mon projet.

J'ai un classeur qui par simplication posséde des onglets avec un n°.

Je souhaiterais mettre en place un USF avec une liste déroulante.
Cette liste déroulante serait alimentée par la valeur inscrite dans les cellules A1 de chaque feuille (le nom de la recette).
Puis en selectionnant une des recettes de cette liste déroulante, je souhaierais ouvrir la feuille correpondante.

Merci par avance pour votre aide,

Hugues
 

Pièces jointes

Re : Classeur avec liste déroulante

Bonjour

voici une proposition :

Code:
Sub Remplissage()
Dim i As Integer
    With UsfOnglet.CboOnglets
        .Clear
        .Value = ActiveSheet.Name
        For i = 1 To Worksheets.Count
            If Worksheets(i).Name <> "sommaire" Then
                .AddItem Sheets(i).Range("A1").Value
            End If
        Next i
    End With
End Sub

et dans le userform

Code:
Private Sub CboOnglets_Change()
For Each feuille In Sheets
    If feuille.Range("A1").Value = CboOnglets.Value Then
        feuille.Select
        Exit For
    End If
Next
End Sub


Est-ce que cela répond au besoin ?
Cordialement
 
Re : Classeur avec liste déroulante

Bonjour Hugues, Bonjour Odesta, Bonjour le forum,

Une autre solution avec une ListBox, plus conviviale et "interactive" pour ce que tu souhaites faire, je pense... A tester.
J’espère que ça peut t'aider

Bonne journée, 🙂

[Edit] Bonjour CBernardT, on s'est croise...
 

Pièces jointes

Dernière édition:
Re : Classeur avec liste déroulante

Tout d'abord merci à vous tous pour l'aide

Je souhaitearis encore une petite amélioration
Je souhaitearis que la liste des recettes soit classée par ordre alpha

est-ce possible

Merci par avance
 
Re : Classeur avec liste déroulante

Bonjour Hugues, Bonjour Odesta, Bonjour CBernardT, Bonjour le forum,

Une solution avec LISTVIEW qui fait le tri par ordre alphabétique.
Plus simple que le tri sur la colonne que tu souhaites faire, je pense...
J'espere que ça répond a ta question.

Bonne journée, 🙂
 

Pièces jointes

Re : Classeur avec liste déroulante

Bonjour,

Voir PJ

Code:
Private Sub UserForm_Initialize()
  Dim temp()
  For i = 2 To Sheets.Count
    Me.ComboBox1.AddItem
    Me.ComboBox1.List(i - 2, 0) = Sheets(i).[A1]
    Me.ComboBox1.List(i - 2, 1) = Sheets(i).Name
  Next i
  temp = Me.ComboBox1.List
  Call tri(temp(), LBound(temp, 1), UBound(temp, 1), 2, 0)
  Me.ComboBox1.List = temp
End Sub

Private Sub ComboBox1_Change()
  m = Me.ComboBox1.Column(1)
  Sheets(m).Select
End Sub

Sub tri(a(), gauc, droi, NbCol, colTri) ' Quick sort
   ref = a((gauc + droi) \ 2, colTri)
   g = gauc: d = droi
   Do
     Do While a(g, colTri) < ref: g = g + 1: Loop
     Do While ref < a(d, colTri): d = d - 1: Loop
       If g <= d Then
          For c = 0 To NbCol - 1
             temp = a(g, c): a(g, c) = a(d, c): a(d, c) = temp
          Next
          g = g + 1: d = d - 1
       End If
   Loop While g <= d
   If g < droi Then Call tri(a, g, droi, NbCol, colTri)
   If gauc < d Then Call tri(a, gauc, d, NbCol, colTri)
End Sub

JB
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
40
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…