Fonctionnement Combobox en enregistrement de tâches

Résolu
demoiselle1263 Messages postés 27 Date d'inscription lundi 5 octobre 2009 Statut Membre Dernière intervention 23 mars 2010 - 23 mars 2010 à 08:12
cs_pacadebord Messages postés 113 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 19 décembre 2011 - 23 mars 2010 à 10:20
Bonjour!

Je cherche à utiliser la fonction "combobox" dans les userforms à la fois en liste déroulante et également en écriture libre, jusque là tous va bien. Mais j'aimerais que lorsqu'une écriture libre est entrée dans la fonction "combobox", elle s'incrémente dans la liste déjà existante de la fonction "combobox".

Quelqu'un connait-il la solution?

Merci d'avance

4 réponses

demoiselle1263 Messages postés 27 Date d'inscription lundi 5 octobre 2009 Statut Membre Dernière intervention 23 mars 2010
23 mars 2010 à 09:55
J'ai trouvé! Je passe pas par x mais par une autre variable lorsque les saisis sont différentes de la liste déjà existante:

Private Sub CommandButton1_Click()

Dim x As Range
Dim valeur As String

counter = 1
i = 1
b = 0

Sheets("Database").Activate
Do
counter = counter + 1
Loop Until Cells(counter, 1) = ""
counter2 = counter - 1

Sheets("Feuil1").Activate
[a1] = ComboBox1.Value
valeur = [a1]

Sheets("Database").Activate
Set x = Sheets("Database").Range("A:A").Find(ComboBox1.Value, , xlValues, xlWhole, , , False)
If Not x Is Nothing Then
'MsgBox "Code trouvé en " & x.Address
Else: b = 1
End If
If b = 1 Then
Do
i = i + 1
Loop Until Cells(i, 1) = ""
Cells(i, 1).Select
Cells(i, 1).Value = ComboBox1.Value
End If
UserForm1.Hide
End Sub
3
demoiselle1263 Messages postés 27 Date d'inscription lundi 5 octobre 2009 Statut Membre Dernière intervention 23 mars 2010
23 mars 2010 à 09:33
Finalement j'ai réussit à écrire un bout de macro, mais il y a une erreur que je n'arrive pas à comprendre:

Private Sub CommandButton1_Click()

Dim x As Range
Dim valeur As String

counter = 1
i = 1

Sheets("Database").Activate
Do
counter = counter + 1
Loop Until Cells(counter, 1) = ""
counter2 = counter - 1
'MsgBox counter2

Sheets("Feuil1").Activate
[a1] = ComboBox1.Value
valeur = [a1]

Sheets("Database").Activate

Set x = Sheets("Database").Range("A:A").Find(ComboBox1.Value, , xlValues, xlWhole, , , False)
If Not x Is Nothing Then MsgBox "Code trouvé en " & x.Address
'MsgBox x

If x <> ComboBox1 Then
Do
i = i + 1
Loop Until Cells(i, 1) = ""
Cells(i, 1).Select
Cells(i, 1).Value = ComboBox1.Value
End If

UserForm1.Hide

End Sub

Le programme me marque: Erreur d'exécution 91 = variable objet ou variable de bloc with non définie

Quelqu'un a t-il la solution?


Merci d'avance
0
cs_pacadebord Messages postés 113 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 19 décembre 2011 2
23 mars 2010 à 09:59
Bonjour,

Alors pour résumer, une feuille avec un bouton qui ouvre un userform ?
Mais où comptez vous mettre la combo ? Dans le userform, j'imagine.

Pac
0
cs_pacadebord Messages postés 113 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 19 décembre 2011 2
23 mars 2010 à 10:20
Demoiselle,

Vous devriez vous servir des évènements de la combobox prévus pour cela...

Pac
0
Rejoignez-nous