Bonjour à toutes et à tous,

Je suis nouvelle sur ce forum, et m’excuse par avance si ma question a déjà été évoquée mais je n’ai pas trouvé de réponse à ma question…

Voila, je travaille sur un tableau Excel (2016), pour créer une trame d’un devis avec insertion de groupes de lignes automatisées. Mes groupes de lignes sont toutes différentes en nombres de lignes, textes, etc. j’utilise les références relatives des macros, pour pouvoir insérer mes lignes n’importe où dans ma colonne.

Seulement, j’ai un groupe de ligne qui inclus des listes déroulantes conditionnelles. Mais avec la fonction INDIRECT, la macro bug si je ne l’insère pas là où je l’ai créé.
Comment puis-je renommer dans le code la cellule dont dépend ma liste à afficher ? Ou y a-t-il une autre fonction que INDIRECT ?

J’espère que je suis claire dans mes explications, je ne voudrais pas faire un roman !

Voici le code qui bug :

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
ActiveCell.Offset(1, 0).Range("A1").Select
    ActiveCell.FormulaR1C1 = "listeAticles"
    ActiveCell.Offset(1, 0).Range("A1").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=INDIRECT($C$5)"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
Donc en résumé le but est de renommer C5 en une référence comme ActiveCell… je ne sais pas trop comment dire !!
En vous remerciant de vos retours.

Azyho