Bonjour à tous,
Dans une feuille nommée "SG_" , j'ai un tableau "Tab_SG" contenant plus de 2500 variables
J'ai une autre feuille nommée "IHM" avec un tableau permettant de faire des choix. A cette feuille IHM est associée des évènements parmis lesquels une validation des données. Je souhaite en effet mettre une liste déroulante en validation, contenant toutes les variables du tableau "Tab_SG". J'ai donc prérempli un tableau de string "SGList" en tant que liste de validation, et utilisé Join dans la formule:
Rv2 correspond à une cellule du tableau IHM sur la ligne modifiée.
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 Set Tab_SG = shSG_.ListObjects("Tab_SG") Set Rtab3 = Tab_SG.Range Dim SGList() As String ReDim SGList(1 To Rtab3.Rows.Count - 1) For i = 1 To Rtab3.Rows.Count - 1 SGList(i) = Rtab3.Cells(i + 1) Next i With Rv2.Validation .Delete '.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ 'xlBetween, Formula1:="=CONFIG!$J$3:$J$7" .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:=Join(SGList, ",") .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = True .ShowError = True End With
J'ai une erreur 1004, car la liste SGList semble être trop grande. AU delà de 622 valeurs, ça plante.
Une solution ?![]()
Partager