Bonjour,
Je cherche en vain comment faire pour faire fonctionner dans une boite de dialogue deux zones de listes en cascade. La deuxieme liste dépendant du choix de la première.
Avec Excel cela fonctionne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
Private Sub CboCat_Change() 'cbo catégorie
'ici on évite un bug si l'utilisateur efface le contenu de Cbocat
 
If CboCat.Value = "" Then Exit Sub
CboSite.Clear
 
Dim NomRange As String
NomRange = CaracSpec(CboCat.Value)
If NomDefini(NomRange) Then
    CboSite.List = Application.Transpose(Range(NomRange))
Else
    CboSite.AddItem """Pas de référence"""
End If
End Sub
rem ----------------------------------------------------------------------------------------------------
 
Function NomDefini(Nom As String) As Boolean
Dim Noms As Name
NomDefini = False
For Each Noms In ThisWorkbook1.Names
    If Noms.Name = Nom Then NomDefini = True: Exit Function
Next Noms
End Function
 
 
Function CaracSpec(Nom As String) As String
CaracSpec = Replace(Nom, " ", "_")
CaracSpec = Replace(CaracSpec, "-", "_")
End Function
Avec Libre Office Calc je ne trouve pas de solution.
Merci de votre aide.