combobox pour débutant - VB/VBA/VBS - Programmation
Marsh Posté le 12-07-2006 à 10:42:55
tu ajoutes ta combobox sur ton userform. L'avantage est que l'utilisateur peut ajouter une valeur en plus s'il le souhaite.
pour détecter si la valeur entrée est déjà dans la liste tu peux faire un compteur de valeur sur une feuille annexe
dans la feuil2 par exemple, tu prends la colonne A pour mettre tes valeurs, tu sélectionnes toutes les cellules et tu nommes la zone Liste par exemple.
tu testes toutes les valeurs de ta liste, et si elle n'appartient pas (variable booléenne à mettre) alors tu l'ajoutes à ta zone. Je v chercher la fonction d'ajout automatique en fin de liste.
edit: tu peux appliquer la fonction =DECALER() pour inclure automatique dans ta liste les dernières valeurs ajoutées.
Marsh Posté le 12-07-2006 à 11:01:13
Tu peux mettre ca sur ton combobox
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Deja As Boolean
Deja = False
For i = 0 To ComboBox1.ListCount - 1
If ComboBox1.Text = ComboBox1.List(i) Then
MsgBox "dèja present"
Deja = True
End If
Next
If Not Deja Then
ComboBox1.AddItem ComboBox1.Text
End If
end sub
Ca ajoute la saisie si pas déjà presente dans le combobox
Marsh Posté le 12-07-2006 à 11:31:53
Au fait, si l'opérateur utilise une nouvelle valeur, elle n'a pas besoin d'être mémorisé...
Est ce que l'on peut utiliser la fonction array :
Quelque chose du genre :
liste=Array("20,4 kg","24 kg3" )
For i=1 To 2
combobox.AddItem=liste(i)
...
Marsh Posté le 12-07-2006 à 11:33:12
0someone0 a écrit : Au fait, si l'opérateur utilise une nouvelle valeur, elle n'a pas besoin d'être mémorisé... |
perso je virerais les Kg, ne gardant dans la liste que des valeurs de type Double et tu mets le "Kg" en label derriere ta combobox...
Marsh Posté le 12-07-2006 à 10:29:58
Salut,
J'ai pas trop l'habitude d'utiliser du VBA (en fait pas du tout) et je cherche une bonne âme pour m'expliquer car je n'ai pas trouvé de réponse claire sur l'Internet.
J'ai besoin d'une liste déroulante dont les données doivent être rentrées en VBA (elles ne sont pas sur la feuille). Ces 2 valeurs sont 20,4 kg et 24 kg.
L'opérateur peut rentrer une valeur personnalisée si besoin est.La valeur choisie doit être reportée au fin fond du tableur Excel dans une cellule donnée (genre bh 212) sans le kg.
Merci d'avance pour votre aide