Faire un sommaire avec des listes

Résolu/Fermé
grandoux Messages postés 4 Date d'inscription mercredi 20 janvier 2016 Statut Membre Dernière intervention 7 avril 2016 - 20 janv. 2016 à 10:31
grandoux Messages postés 4 Date d'inscription mercredi 20 janvier 2016 Statut Membre Dernière intervention 7 avril 2016 - 20 janv. 2016 à 15:41
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:

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?

Merci d'avance

4 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 312
20 janv. 2016 à 12:00
Bonjour
sur quelle ligne se produit l'erreur ?
0
grandoux Messages postés 4 Date d'inscription mercredi 20 janvier 2016 Statut Membre Dernière intervention 7 avril 2016
20 janv. 2016 à 12:15
A oui pardon cela pourrait peut-être vous aidez.

L'erreur se produit sur les lignes.

.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=liste12
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 312
20 janv. 2016 à 13:42
re,

liste12 = "=a savoir!$i$è:$i$14"

la lettre "è" à transformer en "e"

( en général, les adresses sont écrites en majuscule, mais ca n'empêche pas le fonctionnement)
0
grandoux Messages postés 4 Date d'inscription mercredi 20 janvier 2016 Statut Membre Dernière intervention 7 avril 2016
20 janv. 2016 à 15:41
Re,

Bon je viens de trouver pourquoi mon programme ne fonctionnait pas.

liste12 = "=a savoir!$i$è:$i$14" n'est pas bon il faut des apostrophes autour de "a savoir" comme pour le liste11.

désolé de vous avoir dérangé pour si peu, mais je ne comprenais vraiment pas pourquoi il ne fonctionnait pas.

Bonne journée

Je considère ce problème résolu
0