X
Xtian (du Québec)
Guest
Bonjour le Forum
Je désire établir différentes listes de validation sur la feuil1 et les sources se trouvent sur différentes feuilles (feuil2, feuil3, ...) mais toujours avec les mêmes références aux cellules. Voir ci-dessous:
B4 et B5 de la feuil1 = zone de validation B6:B20 de la feuil2(peut changer)
B6 et B7 de la feuil1 = zone de validation B6:B20 de la feuil3(peut changer)
Même chose pour plusieurs autres cellules de la feuil1
Problème 1:
Moa m'a suggéré d'utiliser des feuilles différentes pour mes listes et de nommer ces listes pour les utiliser comme source. C'est très bien et c'est ce que je fais.Je peux, manuellement, nommer ces listes sans problèmes mais comme elles seront variables, je voudrais modifier le code suivant pour rendre variables les cellules de ma liste
ActiveWorkbook.Names.Add Name:="Liste1", RefersToR1C1:="=Feuil2!R6C2:R20C2"
J'ai de la difficulté avec les ", &, :, =, je ne sais jamais comment les disposés dans ma formule.
Je voudrais remplacer R6C2:R20C2 par B6 et Range("B50").End(xlUp).Address
Problème 2:
J'aimerais savoir comment remplacer ="=Liste1" dans le code ci-dessous par ma string LST pour sélectionner des listes différentes. J'utilise la Function Call pour effectuer les mise à jour.
Function Liste(LST as String)
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Liste1"
(C'est ici que j'ai un problème, je veux mettre LST
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
--------------------------------------------------
Sub MAJ_Liste1 (Liste1)
Range("B4:B5").select
Call Liste
End sub
--------------------------------------------------
Sub MAJ_Liste2 (Liste2)
Range("B6:B7").select
Call Liste
End sub
Je prévois finalement faire un code "VALIDATION" qui appelera tous les Sub MAJ_??? pour mettre à jour toutes mes cellules de la feuil1.
Je ne sais pas si c'est assez clair...j'attends vos bonnes suggestions
Merci de votre aide
Xtian(du Québec)
Je désire établir différentes listes de validation sur la feuil1 et les sources se trouvent sur différentes feuilles (feuil2, feuil3, ...) mais toujours avec les mêmes références aux cellules. Voir ci-dessous:
B4 et B5 de la feuil1 = zone de validation B6:B20 de la feuil2(peut changer)
B6 et B7 de la feuil1 = zone de validation B6:B20 de la feuil3(peut changer)
Même chose pour plusieurs autres cellules de la feuil1
Problème 1:
Moa m'a suggéré d'utiliser des feuilles différentes pour mes listes et de nommer ces listes pour les utiliser comme source. C'est très bien et c'est ce que je fais.Je peux, manuellement, nommer ces listes sans problèmes mais comme elles seront variables, je voudrais modifier le code suivant pour rendre variables les cellules de ma liste
ActiveWorkbook.Names.Add Name:="Liste1", RefersToR1C1:="=Feuil2!R6C2:R20C2"
J'ai de la difficulté avec les ", &, :, =, je ne sais jamais comment les disposés dans ma formule.
Je voudrais remplacer R6C2:R20C2 par B6 et Range("B50").End(xlUp).Address
Problème 2:
J'aimerais savoir comment remplacer ="=Liste1" dans le code ci-dessous par ma string LST pour sélectionner des listes différentes. J'utilise la Function Call pour effectuer les mise à jour.
Function Liste(LST as String)
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Liste1"
(C'est ici que j'ai un problème, je veux mettre LST
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
--------------------------------------------------
Sub MAJ_Liste1 (Liste1)
Range("B4:B5").select
Call Liste
End sub
--------------------------------------------------
Sub MAJ_Liste2 (Liste2)
Range("B6:B7").select
Call Liste
End sub
Je prévois finalement faire un code "VALIDATION" qui appelera tous les Sub MAJ_??? pour mettre à jour toutes mes cellules de la feuil1.
Je ne sais pas si c'est assez clair...j'attends vos bonnes suggestions
Merci de votre aide
Xtian(du Québec)