Erreur combobox

silver.beach

XLDnaute Nouveau
Bonjour à tous !!

Je reviens vers vous pour un autre petit problème :

Voila le code que j'utilise

'COMBOBOX 1 CODE CLIENT

'Changement de couleur en vert (Code client)

Private Sub ComboBox1_Change()

ComboBox1 = UCase(ComboBox1) 'Mettre en MAJUSCULE

If ComboBox1.Value = "" Then
Me.ComboBox1.BackColor = RGB(250, 250, 250)
Else
Me.ComboBox1.BackColor = RGB(0, 250, 0)
End If
End Sub

Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim ok As Boolean, i As Integer
For i = 0 To ComboBox1.ListCount - 1
ok = ComboBox1 = ComboBox1.List(i)
If ok Then Exit For
Next
If Trim(ComboBox1) = "" Then Exit Sub
If Not ok Then
ComboBox1.AddItem ComboBox1
Worksheets("Base de données").Cells(Worksheets("Base de données").Range("I65536").End(xlUp).Row + 1, 1) = ComboBox1
ComboBox1 = ""
End If
End Sub

Private Sub UserForm1_Activate()
Dim cell As Range

For Each cell In Worksheets("Base de données").Range("I2:I" & Worksheets("Base de données").Range("I65536").End(xlUp).Row)
If cell <> "" Then ComboBox1.AddItem cell.Value
Next
End Sub


Le problème est que quand je rentre une valeur dans la combobox, il m'affiche une erreur "Erreur d'execution 9 - L'indice n'appatient pas à la selection" et du coup il me surligne la ligne "For Each cell In Worksheets("Base de données").Range("H2:H" & Worksheets("Base de données").Range("H65536").End(xlUp).Row)"

Quelqu'un à une idée de pourquoi ?
 

Bebere

XLDnaute Barbatruc
Re : Erreur combobox

bonjour silverBeach,Carcharodon
tu as une erreur isnull de la combobox(à mon avis pas initializée)
et tu renvoyes l'ajout en colonne a au lieu de colonne I(corrigé)
essaye ce code

Private Sub ComboBox1_AfterUpdate()
Dim ok As Boolean, i As Integer

For i = 0 To ComboBox1.ListCount - 1
If ComboBox1.ListIndex = -1 Then
ComboBox1.AddItem ComboBox1
Worksheets("Base de données").Cells(Worksheets("Base de données").Range("I65536").End(xlUp).Row + 1, 9) = ComboBox1
End If
Next

End Sub

Private Sub UserForm_Initialize()
Dim cell As Range

For Each cell In Worksheets("Base de données").Range("I2:I" & Worksheets("Base de données").Range("I65536").End(xlUp).Row)
If cell <> "" Then ComboBox1.AddItem cell.Value
Next

End Sub

Private Sub ComboBox1_Change()

If ComboBox1.Value <> "" Then
ComboBox1 = UCase(ComboBox1) 'Mettre en MAJUSCULE
Me.ComboBox1.BackColor = RGB(0, 250, 0)
Else
Me.ComboBox1.BackColor = RGB(250, 250, 250)
End If

End Sub

à bientôt
 

silver.beach

XLDnaute Nouveau
Re : Erreur combobox

Bonjour Bebere,

Effectivement solution règle le problème de l'erreur 9.

Cependant, mais je ne l'ai pas expliquer avant, je souhaiterai avoir une saisie pré automatique dans mon combobox. Et je pensai que mon code le permettait... mais quand j'ai testé non...
 

silver.beach

XLDnaute Nouveau
Re : Erreur combobox

Bah en faite, l'utilisateur saisie une donnée qui est enregistrée dans un autre fichier excel (Base de données). Lors d'une autre saisie si la donnée à deja été rentré j'aimerai qu'il me l'affiche.

En gros comme google, quand tu tapes v, il te met voiture, violon...
 

Discussions similaires

Réponses
11
Affichages
375
Réponses
6
Affichages
317