hELP LISTE DEROULANTE

Ilino

XLDnaute Barbatruc
Bonsoir forum
Ci-joint un fichier ou je vous sollicite a m’aider pour régler la programmation d’une liste déroulante dans les colonnes C et E (lieux et présidé), je l’ai déjà fait dans la colonne A (réunion) mais je n’ai pas arrivé à le mettre dans les deux colonnes
Merci par avance.
 

Pièces jointes

  • ilino liste.xlsm
    19.4 KB · Affichages: 62
  • ilino liste.xlsm
    19.4 KB · Affichages: 63
  • ilino liste.xlsm
    19.4 KB · Affichages: 71

gfortin9

XLDnaute Occasionnel
Re : hELP LISTE DEROULANTE

Allô!

J'aime bien la façon que tu as composé ces listes déroulantes.

C'est dépanné pour les trois colonnes.

Examine cela, si ça te convient.

G
 

Pièces jointes

  • ilino liste2.xlsm
    21.5 KB · Affichages: 78

hbenalia

XLDnaute Occasionnel
Re : hELP LISTE DEROULANTE

Bonjour à tous,

Les codes dans le fichier ont été transformés et en raison des erreurs dans mon office 2007 avec les fichiers *.xlsm, les codes transformés sont comme suit:

* Code de la feuille "Feuil1":

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Range("A9:A20"), Target) Is Nothing Then
        Call cre_menu
    End If
    If Target.Count > 2 Then Exit Sub
    If Not Intersect(Range("C9:C20"), Target) Is Nothing Then
        Call cre_menu_1
    End If
    If Target.Count > 3 Then Exit Sub
    If Not Intersect(Range("E9:E20"), Target) Is Nothing Then
        Call cre_menu_2
    End If
End Sub

* Codes du module 1 :

Code:
Public cb As CommandBar
Sub cre_menu()
    Dim liste As Range
    Set liste = Range("liste")
    If liste.Column > 1 Then Exit Sub
    Dim i As Long, nbl As Long
    
    On Error Resume Next
    CommandBars("Menu_Gw").Delete
    On Error GoTo 0
    
    Set cb = Application.CommandBars.Add("Menu_Gw", msoBarPopup)
    nbl = liste.Count
    For i = 1 To nbl
        With cb.Controls.Add(msoControlButton, 1, , , True)
            .Caption = liste(i)
            .OnAction = "gw_lance(" & i & ")"
        End With
    Next i
    cb.ShowPopup
End Sub
Sub cre_menu_1()
    Dim liste As Range
    Set liste1 = Range("liste1")
    If liste1.Column > 2 Then Exit Sub
    Dim i As Long, nbl1 As Long
    
    On Error Resume Next
    CommandBars("Menu_Gw").Delete
    On Error GoTo 0
    
    Set cb = Application.CommandBars.Add("Menu_Gw", msoBarPopup)
    nbl1 = liste1.Count
    For i = 1 To nbl1
        With cb.Controls.Add(msoControlButton, 1, , , True)
            .Caption = liste1(i)
            .OnAction = "gw_lance(" & i & ")"
        End With
    Next i
    cb.ShowPopup
End Sub
Sub cre_menu_2()
    Dim liste As Range
    Set liste2 = Range("liste2")
    If liste2.Column > 3 Then Exit Sub
    Dim i As Long, nbl2 As Long
    
    On Error Resume Next
    CommandBars("Menu_Gw").Delete
    On Error GoTo 0
    
    Set cb = Application.CommandBars.Add("Menu_Gw", msoBarPopup)
    nbl2 = liste2.Count
    For i = 1 To nbl2
        With cb.Controls.Add(msoControlButton, 1, , , True)
            .Caption = liste2(i)
            .OnAction = "gw_lance(" & i & ")"
        End With
    Next i
    cb.ShowPopup
End Sub

Sub gw_lance(index As Long)
    ActiveCell = cb.Controls(index).Caption
End Sub

Avec le fichier attaché (s'il n'y a pas d'erreurs), tu y trouveras toutes les transformations requises....

Cordialement
 

Pièces jointes

  • ilino liste.xlsm
    19.7 KB · Affichages: 86
  • ilino liste.xlsm
    19.7 KB · Affichages: 76
  • ilino liste.xlsm
    19.7 KB · Affichages: 75
Dernière édition:

gfortin9

XLDnaute Occasionnel
Re : hELP LISTE DEROULANTE

Bonjour à tous,
Heureux de savoir qu'on comprenne sans rien expliquer... :confused:
Cordialement

Allô!
Tu m'as fait réaliser qu'on peut avoir des noms utilisables sans qu'ils soient nécessairement attachés à une plage de cellules.
Je faisais F5 pour avoir la liste des noms ... elle était vide. C'est pour cela que j'ai utilisé une autre méthode.

Suite à ton intervention, je voulais comprendre les variables "liste" qui pour moi ne correspondaient à rien. J'ai enfin été dans l'onglet Formules (Excel 2010) Bouton Gesionnaires de noms.
Là, j'ai eu une révélation. 8- ))))

Merci pour avoir réveillé ma cellule. ;- ))

G
 

Discussions similaires

Réponses
8
Affichages
236
Réponses
4
Affichages
346

Statistiques des forums

Discussions
312 480
Messages
2 088 757
Membres
103 951
dernier inscrit
Misterb