Probleme ouverture Userform

Bonjour CHER FORUM

Je voudrais que vous aidiez a comprendre un phénomène.

Mon userform refuse de se lancer si ma base de données contient un seul enregistrement

Mais au delà de deux enregistrements pas de problème.

Je pense que j'ai mal écrit un code quelque part.

Merci

10classeur1.xlsm (187.84 Ko)

Bonjour KTM, bonjour le forum

Un dictionnaire ne fonctionne qu'avec un tableau d'au moins 2 éléments. C'est la fonction SansDoublonsTrié qui provoque le plantage. Tu peux pallier ce problème en remplaçant, dans le code d'initialisation de l'UserForm, la ligne :

Me.ComboBox1.List = SansDoublonsTrié(Application.Transpose(Range("A2:A" & [A65000].End(xlUp).Row)))

par :

If Cells(Application.Rows.Count, "A").End(xlUp).Row = 2 Then
    Me.ComboBox1.AddItem Range("A2").Value
Else
    Me.ComboBox1.List = SansDoublonsTrié(Application.Transpose(Range("A2:A" & [A65000].End(xlUp).Row)))
End If

Merci

Mais un dernier detail reste au niveau de Combobox1.Change

Il ya erreur quand on choisi l'element

Merci pour Tout

Re,

Quelle ligne ? Quelle 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

Rechercher des sujets similaires à "probleme ouverture userform"