Bonjour à tous !!
Bon, je suppose que la réponse est quelque part mais je trouve pas...
Je vous explique, j'ai donc une feuille avec 3 menus déroulants, le second changeant en fonction de l'item séléctionné dans le premier et le dernier changeant selon l'item sélectionné dans le second.
La source de ces menus est fixe et se trouve dans une autre feuille du même classeur.
Pour le moment, la modif ne peut se faire que ligne par ligne, si un utilisateur veut remonter sur une ligne précédemment completée, les menus ne se chargent plus. Le problème étant que bien évidemment, ils veulent tous pouvoir le faire, je passe donc mon temps à leur expliquer qu'ils doivent utiliser la dernière ligne mais ça complique les choses et ils finissent par faire n'importe quoi...
Voici mon code :
Le code est le même pour la deuxième liste...
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 Sub List1() ' List Macro ' Macro recorded 6/24/2008 by msa ' ' Dim main As String Dim category As String Dim CAT As Range Dim SCAT As Range Dim CatR As Range Dim SubR As Range Dim x As Variant Dim y As Variant Dim c As Range Dim d As Range Dim i As Variant Application.ScreenUpdating = False Sheets("Menu_deroulante").Select 'Paramètrage des zones de recherche Set CatR = Range(Cells(1, 2), Cells(21, 8)) Set SubR = Range("A25", "BG25") 'Création de la seconde liste de validation (categorie)en fonction de la "main" choisie. With Sheets("Input_form").Range("C7", "C3000") Set c = .Find(what:="", LookIn:=xlFormulas, lookat:=xlPart, SearchOrder:=xlByColumns) If Not c Is Nothing Then i = c.Row Else End If End With i = i - 1 main = Sheets("Input_form").Cells(i, 3).Value 'Recherche de la "main" With CatR Set c = .Find(what:=main, LookIn:=xlValues, lookat:=xlPart, SearchOrder:=xlByColumns) If Not c Is Nothing Then x = c.Column Else End If End With Set CAT = Range(Cells(2, x), Cells(21, x)) 'Copie de la liste des category Range("A57:A76").Value = CAT.Value Sheets("Input_form").Activate Application.ScreenUpdating = True End Sub
Ma question : Existe-t-il une possiblité de faire en sorte que mes déroulantes soient mises à jour à chaque fois qu'un autre item est sélectionné dans la déroulante précédente ?
Et si oui, comment je l'utilise ?
Désolée, je suppose que c'est stupide comme question pour la plupart d'entre vous mais je persiste à débuter
Merci d'avance !!
Partager