Probleme avec Combobox.change

Salut chers tous

Jai un soucis avec mon code dans l'évènement combobox1. Change

Avec un seul enregistrement dans ma base mon code ci dessous renvoie une erreur

Private Sub ComboBox1_Change()

Dim i As Integer

Dim Item As Variant

If flag = 1 Then flag = 0: Exit Sub

listview.ListView1.ListItems.Clear

Set f = Sheets("Grille_de_Dispensation")

a = Range(f.[A2], f.[A65000].End(xlUp))

For i = LBound(a) To UBound(a)

If a(i, 1) = ComboBox1 Then

listview.ComboBox1.AddItem Cells(i + 1, 1)

Set Item = listview.ListView1.ListItems.Add(Text:=Sheets("Grille_de_Dispensation").Cells(i + 1, 1))

Item.SubItems(1) = Format(Sheets("Grille_de_Dispensation").Cells(i + 1, 2), "mmm-yyyy")

Item.SubItems(2) = Sheets("Grille_de_Dispensation").Cells(i + 1, 3)

Item.SubItems(3) = Sheets("Grille_de_Dispensation").Cells(i + 1, 4)

Item.SubItems(4) = Sheets("Grille_de_Dispensation").Cells(i + 1, 5)

Item.SubItems(5) = Sheets("Grille_de_Dispensation").Cells(i + 1, 6)

Item.SubItems(6) = Sheets("Grille_de_Dispensation").Cells(i + 1, 7)

Item.SubItems(7) = Sheets("Grille_de_Dispensation").Cells(i + 1, 8)

Item.SubItems(8) = Sheets("Grille_de_Dispensation").Cells(i + 1, 9)

Item.SubItems(9) = Format(Sheets("Grille_de_Dispensation").Cells(i + 1, 10), "mmm-yyyy")

Item.SubItems(10) = i + 1

End If

Next i

End Sub

Merci de bien vouloir me guider

11cbo.xlsm (190.83 Ko)

Re,

Ooops je t'avais oublié !... Désolé. C'est le même problème. S'il n'y a qu'une seule ligne le tableau a n'existe pas et UBound(a) ou LBound(a) génerent une erreur. Il te faut envisager si il n'y a qu'une seule ligne alors code sans la variable a, sinon, code avec la variable a.

Merci Voici Ce que ca donne

Private Sub ComboBox1_Change()

Dim i As Integer

Dim Item As Variant

If flag = 1 Then flag = 0: Exit Sub

listview.ListView1.ListItems.Clear

If Cells(Application.Rows.Count, "A").End(xlUp).Row = 2 Then

listview.ComboBox1.AddItem Cells(2, 1)

Set Item = listview.ListView1.ListItems.Add(Text:=Sheets("Grille_de_Dispensation").Cells(2, 1))

Item.SubItems(1) = Format(Sheets("Grille_de_Dispensation").Cells(2, 2), "mmm-yyyy")

Item.SubItems(2) = Sheets("Grille_de_Dispensation").Cells(2, 3)

Item.SubItems(3) = Sheets("Grille_de_Dispensation").Cells(2, 4)

Item.SubItems(4) = Sheets("Grille_de_Dispensation").Cells(2, 5)

Item.SubItems(5) = Sheets("Grille_de_Dispensation").Cells(2, 6)

Item.SubItems(6) = Sheets("Grille_de_Dispensation").Cells(2, 7)

Item.SubItems(7) = Sheets("Grille_de_Dispensation").Cells(2, 8)

Item.SubItems(8) = Sheets("Grille_de_Dispensation").Cells(2, 9)

Item.SubItems(9) = Format(Sheets("Grille_de_Dispensation").Cells(1, 10), "mmm-yyyy")

Item.SubItems(10) = 2

Else

Set f = Sheets("Grille_de_Dispensation")

a = Range(f.[A2], f.[A65000].End(xlUp))

For i = LBound(a) To UBound(a)

If a(i, 1) = ComboBox1 Then

listview.ComboBox1.AddItem Cells(i + 1, 1)

Set Item = listview.ListView1.ListItems.Add(Text:=Sheets("Grille_de_Dispensation").Cells(i + 1, 1))

Item.SubItems(1) = Format(Sheets("Grille_de_Dispensation").Cells(i + 1, 2), "mmm-yyyy")

Item.SubItems(2) = Sheets("Grille_de_Dispensation").Cells(i + 1, 3)

Item.SubItems(3) = Sheets("Grille_de_Dispensation").Cells(i + 1, 4)

Item.SubItems(4) = Sheets("Grille_de_Dispensation").Cells(i + 1, 5)

Item.SubItems(5) = Sheets("Grille_de_Dispensation").Cells(i + 1, 6)

Item.SubItems(6) = Sheets("Grille_de_Dispensation").Cells(i + 1, 7)

Item.SubItems(7) = Sheets("Grille_de_Dispensation").Cells(i + 1, 8)

Item.SubItems(8) = Sheets("Grille_de_Dispensation").Cells(i + 1, 9)

Item.SubItems(9) = Format(Sheets("Grille_de_Dispensation").Cells(i + 1, 10), "mmm-yyyy")

Item.SubItems(10) = i + 1

End If

Next i

End If

End Sub

Et ca marche Encore Merci

Rechercher des sujets similaires à "probleme combobox change"