Bonjour a tous,

Je suis actuellement en train de me casser la tête pour faire une liste déroulant en VB qui évolue suivant les sélections précédentes. Je m'explique.

J'ai un sommaire qui contient Titre A (chap1,chap2,chap3) et Titre B (chap a, chap b, chap c), j'ai créé trois différentes listes:
Liste1=titre A; Titre B
Liste 2= chap1, chap2, chap3
Liste 3= chap a, chap b, chap c

Mon programme doit faire ceci:
Si dans la colonne H, titre A est sélectionné dans la liste1, alors la liste proposée sur la colonne I sera la liste 2
Si dans la colonne H, titre B est sélectionné dans la liste1, alors la liste proposée sur la colonne I sera la liste 3

Mon code est donc celui-ci:
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
 
liste11 = "='a savoir'!$h$7:$h$11"
liste12 = "=a savoir!$i$è:$i$14"
ligne = ActiveCell.Row
 
If Cells(ligne, 8) = "1.1 Electricity related object" Then
 
                Sheets("index").Select
                Cells(ligne, 8).Select
                With Selection.Validation
                    .Delete
                    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                    xlBetween, Formula1:=liste11
                End With
 
 
        ElseIf Cells(ligne, 8) = "1.2 Abstract objects" Then
 
                Sheets("index").Select
                Cells(ligne, 8).Select
                With Selection.Validation
                    .Delete
                    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                    xlBetween, Formula1:=liste12                
                 End With
 End if
lorsque je lance il marche mais quand il doit changer de ligne il bug. Un message apparait avec "erreur d'exécution 1004".

Est-ce que quelqu'un aurai une idée afin de régler ce problème?

Merci d'avance.