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