Double liste déroulante avec chois d'onglet

Fugy

XLDnaute Occasionnel
Bonjour medames ze medames

j'essayé de crée une liste déroulante double.
1. liste déroulante suivant des feuilles couleurs bleues (A, B …)

2.si je choisis une des feuilles A ou B… j'ai une liste déroulante des numéros de la feuille choisis (liste numéros dans la feuille)

J'ai mis ci-joint le fichier pour mieux comprendre.

J'ai essayé pour la liste déroulante de faire "validation" et de mettre une macro mais sa prener pas. Je suis pas sur aussi que la macro soit niquel ...

Merci d'avance pour votre aide !
 

Pièces jointes

  • liste deroulante.xls
    25 KB · Affichages: 76
  • liste deroulante.xls
    25 KB · Affichages: 78
  • liste deroulante.xls
    25 KB · Affichages: 74

Fugy

XLDnaute Occasionnel
Re : Double liste déroulante avec chois d'onglet

Je vais essayé de mieux expliquer le probleme.

1. Dans 1 cellule, j'ai une liste déroulante avec les différentes feuilles en choix.

2. Suivant la feuille que je choisis, la cellule suivante a elle aussi une liste déroulante, mais avec cette fois ci le choix d'une plage de cellule (exemple C1:C150) de cette feuille précédemment sélectionner.

Mon problème est que je n'arrive pas activer la liste déroulante (Donnée -->Validation") sur la macro. De plus, sur ma macro je n'arrive pas à ressortir une liste des feuilles.

Voila ...
 

Fugy

XLDnaute Occasionnel
Re : Double liste déroulante avec chois d'onglet

Salut JBOBO

Merci pour ton attention c'est sympa.

En fait, ce que tu m'a proposé ne va pas fonctionée... (désoler) car il y aura + que 2 feuilles (A, B ... X).

De plus, il me faudrais la liste des feuilles dans la 1er cellule pour eviter de les écrire et donc faire des fautes d'orthographe...
 

Toine

XLDnaute Occasionnel
Re : Double liste déroulante avec chois d'onglet

Code:
Dim i As Integer

Private Sub CommandButton1_Click()
i = 0
For Each Sheet In Sheets
i = i + 1
(le nom de ta liste déroulante).additem Sheets(i).Name
Next
End Sub
ceci rempli avec tout les nom de feuille
mais il faut appuier sur un bouton (ici seulement ^^ adapte)
il ne te reste plus qu'a insérer un if avec ta ligne de pour recup la couleur et ta liste devrait étre pleine ^^
 
Dernière édition:

Fugy

XLDnaute Occasionnel
Re : Double liste déroulante avec chois d'onglet

Toine à dit:
Code:
Dim i As Integer

Private Sub CommandButton1_Click()
i = 0
For Each Sheet In Sheets
i = i + 1
(le nom de ta liste déroulante).additem Sheets(i).Name
Next
End Sub
ceci rempli avec tout les nom de feuille
mais il faut appuier sur un bouton (ici seulement ^^)
il ne te reste plus qu'a insérer un if avec ta ligne de pour recup la couleur et ta liste devrait étre pleine ^^



Re,

le problème de cette macro, c'est quelle n'est pas appliqué à une liste déroulante sur une cellule (Donnée --> Validation) mais à un bouton ...
 

Pierrot93

XLDnaute Barbatruc
Re : Double liste déroulante avec chois d'onglet

Bonjour Fugy

pour créer une liste de validation reprenant le nom des feuilles en A1 essaye le code ci dessous :

Code:
Sub test()
Dim ws As Worksheet, maliste As String
Range("A1").Validation.Delete
For Each ws In Worksheets
maliste = maliste & ws.Name & ","
Next ws
Range("A1").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                xlBetween, Formula1:=maliste
End Sub

bonne journée
@+
 

Toine

XLDnaute Occasionnel
Re : Double liste déroulante avec chois d'onglet

autant pour moi pour le type de liste je me croyait dans un user form ^^
et pour le sub boutons c'est de sa que je parlait quand je disait adapte ;)
(dsl j'aivais pas mis le adapte j'ai rajouter ) :p
 
Dernière édition:

Fugy

XLDnaute Occasionnel
Re : Double liste déroulante avec chois d'onglet

Pierrot93 à dit:
Bonjour Fugy

pour créer une liste de validation reprenant le nom des feuilles en A1 essaye le code ci dessous :

Code:
Sub test()
Dim ws As Worksheet, maliste As String
Range("A1").Validation.Delete
For Each ws In Worksheets
maliste = maliste & ws.Name & ","
Next ws
Range("A1").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                xlBetween, Formula1:=maliste
End Sub

bonne journée
@+


Salut Pierrot !
1. la valeur "maliste" correspond à quoi? peux t'on la mettre dans (Donnée--> Validation--> Liste )?

2. N'y a t'il pas plutot (le chien de Mickey) un code pour récupé les feuilles dans une liste sans avoir à mettre le nom de ces feuilles sur une feuille

3. Cela ne serait pas Hobbes ton image ??
 

bqtr

XLDnaute Accro
Re : Double liste déroulante avec chois d'onglet

Bonjour Fugy, Toine, Pierrot93

En PJ un fichier qui fait ce que tu demandes, j'ai repris la macro de Pierrot en y ajoutant la gestion des couleurs des onglets ( avec Excel 2003 ca fonctionne )

A l'ouverture du classeur, la liste des feuilles de couleur se crée en A1 dans la feuille 3. Ensuite quand tu changes la valeur de cette liste, une autre liste se crée en B1 avec les valeurs de la feuille sélectionnée en A1.
Cela suppose que dans chaque feuille de couleur les éléments à mettre dans la liste soit toujours dans la même colonne.

maliste correspond à la liste des feuilles, si tu vas dans Données/Validation tu verras cette liste.

Bonne journée
 

Pièces jointes

  • liste deroulante.xls
    35 KB · Affichages: 77
  • liste deroulante.xls
    35 KB · Affichages: 80
  • liste deroulante.xls
    35 KB · Affichages: 79

Discussions similaires

Réponses
2
Affichages
296

Statistiques des forums

Discussions
312 347
Messages
2 087 505
Membres
103 565
dernier inscrit
Fabien78