Validation des données avec tableau
Bonjour,
Je souhaite effectuer une validation de données de cellule de type liste avec des données stockées dans une variable de type tableau.
Le code élimine les doublons d'une liste de la feuille "BDD Libellé" en stockant chaque nouvel élément dans une table à une colonne. Ensuite, je souhaite que la cellule S7 de la feuille "Application" ait une validation des données avec la liste de cette table.
Pour rendre le classeur moins lourd, je souhaite éviter d'avoir à inscrire ces valeurs dans une feuille.
Voici le code que j'ai actuellement.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| Private Sub Worksheet_Change(ByVal Target As Range)
Dim Montab_domaine() As Variant
nb_piece_codif = Worksheets("Application").Range("W3").Value
num_piece = 7
If Not Application.Intersect(Target, Columns(1)) Is Nothing Then 'Si modification d'une valeur de la colonne
For num_piece = 7 To nb_piece_codif + 7
nb = 0
Compteur = 0
For i = 2 To Sheets("BDD Libellé").Cells(1, 1).End(xlDown).Row
Var = Sheets("BDD Libellé").Cells(i, 1).Value
ReDim Preserve Montab_domaine(nb)
Compteur = 0
For j = 0 To nb
If Montab_domaine(j) = Sheets("BDD Libellé").Cells(i, 1).Value Then
Compteur = Compteur + 1
End If
Next
If Compteur = 0 Then
Montab_domaine(nb) = Sheets("bDD Libellé").Cells(i, 1).Value
nb = nb + 1
End If
Next
' --------------------- VALIDATION DES DONNEES -------------------------
With Sheets("Application").Cells(num_piece, 19).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=Montab_domaine[]"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Next
End If
End Sub |
Lorsque je remplace
Code:
Formula1:="=Montab_domaine[]"
par
Code:
Formula1:="=Montab_domaine(4)"
, la validation des données s'effectue bien avec la 4ème valeur de mon tableau, mais impossible de mettre l'ensemble des valeurs.
Merci à vous,