Bonjour à tous,
J'aimerais, grâce à une macro (intégrer dans une autre macro plus grande), pouvoir définir le nom d'une liste afin de la copier, la formule devant se trouver
J'aimerais réaliser une macro (intégrer dans une plus grande macro) réalisant ceci :
- donner un nom à une liste de données, sachant que la longueur de la liste est variable
- copier cette liste
- la coller dans une cellule sous format d'un menu déroulant
J'ai ce 1er code afin de donner le nom à ma plage de données: (où Sites est le nom de la liste)
Et ensuite ce code, qui devrait me permettre de définir la cellule C5 comme menu déroulant contenant la liste "Sites" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Sheets("first").Select Sites = Range([C30], [C65365].End(xlUp))
Mais ça ne fonctionne pas et j'ai le message d'erreur suivant : "erreur définie par l'application objet" et les deux lignes ci-dessous surlignées :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ActiveSheet.Range("C5").Select With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=Sites" .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = True .ShowError = True End With
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=Sites"
J'ai également essayé en intégrant la plage de données à définir directement dans la seconde partie du code, suite à "Formula1=" mais cela ne fonctionne pas non plus, ou en tout cas je n'ai pas la bonne formule.
Je n'ai pas l'impression que ce que je veux faire est si compliqué mais je n'y arrive pas...
Merci beaucoup pour votre aide et bonne après-midi !
Partager