J'ai un soucis. J'aimerais utiliser une fonction VBA pour générer une liste de validation.
Pour simplifier les essais (qui ne marche pas), j'utilise la fonction suivante :
VB:
Public Function test_liste()
Dim nb As Integer, i As Integer
Dim res()
nb = 5
ReDim res(nb, 1)
For i = 1 To nb
res(i, 1) = i
Next i
test_liste = res
End Function
J'ai ensuite crée un nom "Test" dont la valeur est "=test_liste()"
Et enfin, je dis que la validation est paramétrer :
Autoriser : Liste
Source : =Test
Pouvez-vous regarder et me dire se que j'ai raté, s'il vous plait?
D'avance merci.
re
dans ce cas pas besoin de macro
dans la feuille param j'ai fait une table
puis créer un nom qui définie la table elle peut grandir ou raccourcir tous les chiffres seront prix en compte
et enfin relier la liste de validation avec le nom
a+
Public Function test_liste()
Dim Nb As Integer, i As Integer
Dim res()
Nb = 5
ReDim res(Nb)
For i = 1 To Nb
res(i) = i
Next i
test_liste = res
End Function
Sub test()
MsgBox test_liste(5)
End Sub
Je viens d'essayer mais la validation de la cellule B2 ne fonctionne pas....
Lorsque j'essaye de la mettre en place, j'obtiens le message :
La source est reconnu comme erroné. Voulez-vous continuer ?
Par contre je ne sais pas pourquoi ma "source" est erroné..????...????
Public Function test_liste()
Dim nb As Integer, i As Integer
Dim res() ' As Range
Dim tp
nb = 5
ReDim res(nb)
For i = 1 To nb
res(i) = i
Next i
tp = Join(res, ",")
test_liste = tp
End Function
re
si tu veux passer par la liste de validation il te faut une zone de range
si tu veux mettre la function tu mets une liste déroulante et tu l'incrémentes avec
Private Sub ComboBox1_GotFocus()
Me.ComboBox1.List() = test_liste()
End Sub
tout dépend de ce que tu veux faire exactement de la suite
a+
re
dans ce cas pas besoin de macro
dans la feuille param j'ai fait une table
puis créer un nom qui définie la table elle peut grandir ou raccourcir tous les chiffres seront prix en compte
et enfin relier la liste de validation avec le nom
a+
Merci pour la réponse.
Dans mon projet la liste de validation dépend du résultat d'une fonction VBA car trop complexe à faire.
Donc, du coup, je vais utiliser ta philosophie:
+ Nom sur une table
+ VBA pour alimenter la table
+ Validation d'après la table
Inconvénient : réalisation en deux étapes
Avantage : vision direct sur la liste de validation
Donc merci encore pour ton écoute, ton soutien et ton aide