Bonjour
Je cherche à coder en VBA une formule à appliquer à toutes les lignes d'une colonne d'un tableau, de type validation de données sur liste, mais la liste varie à chaque ligne du tableau en fonction de la donnée d'une autre cellule de la ligne.
Feuille 1 : Tableau nommé à 3 colonnes ; appelons le TABLEAU
Colonne A : contient des noms [NOM] d'objets
Colonne B : contient une caractéristique liée à [NOM] ; nous l'appellerons [PRECISION] ; il n'y a pas unicité des valeurs.
Dans le Feuille 2 :
Pour chaque valeur "PRECISION(i)" possible de ma colonne TABLEAU[PRECISION], je dispose ici d'une LISTE sous forme de tableau nommé "PRECISION(i)" ; ces tableaux ont été pré-renseignés, et sont des tableaux mono-colonnes, qui comportent une série de valeurs possibles.
Retour sur la Feuille 1
Colonne C : Je dois y saisir manuellement une valeur [CHOIX], mais cette valeur doit être limitée à la liste du tableau nommé "PRECISION(i)".
Le code VBA à écrire consiste à automatiser la mise en place de cette condition de validation de données.
La formule suivante ne fonctionne pas mais résume globalement (à mon sens) ce que je cherche à coder dans les cellules de la colonne [CHOIX] de TABLEAU :
Merci d'avance de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=INDIRECT(""[@[PRECISION]]"")" .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = True .ShowError = True End With
Partager