Bonjour,
Donc pour faire simple j'aimerai pouvoir rendre dynamique la plage de cette macro :
Le C2 ne bougera jamais par contre je dois ajuster la dernière ligne et la dernière colonne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub inserlist() With Wshebdo.Range("C2:AI366").Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=Alist" & CmbSect .IgnoreBlank = True .InCellDropdown = True End With End Sub
j'ai déterminé mon nombre de ligne et mon nombre de colonne. mais je n'arrive pas ( sans doute un problème de syntaxe) à remplacer le AI366 avec mes nouvelles valeurs calculées.
Voici ou en ai mon codeSi vous avez des idées je suis preneur!
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 Sub inserlist() Dim a, i, j As Integer NbColTot With WsCal i = Range("A1").CurrentRegion.End(xlDown).Row ' calcul du nombre de ligne j = NbColTot() + 2 ' calcul du nombre de colonne End With With Wshebdo.Range("Cells (2,3)" : "Cells(i, j)").Select ' anciennement ("C2:AI366") mais ca bug! .Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=Alist" & CmbSect .IgnoreBlank = True .InCellDropdown = True End With
Si vous avez des questions je reste à votre disposition.
Partager