Bonjour le forum,
Je bloque sur un MsgBox avant enregistrement concernant un ListBox Grrrrrr, quand ça ne veux pas .
Si quelqu'un peut m'aider, ça serait sympa, merci.
J'ai tenté, mais rien n'y fait
ListBox1ListIndex= -1 Then
ListBox1.Seleted(i) = False
Mon code Initialize :
Private Sub UserForm_Initialize()
Set f = Sheets("Theme")
BD = f.Range("A2:B" & f.[A65000].End(xlUp).Row).Value ' Array pour rapidité
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(BD) ' on explore la colonne de niveau 1
d(BD(i, 1)) = "" ' on ajoute l'élément de la famille au dictionnaire
Next i
Tbl = d.keys
Tri Tbl, LBound(Tbl), UBound(Tbl)
Me.Famille.List = Tbl
'Chargement listbox1 agent
With Sheets("Theme")
drlig = .Range("D2").End(xlDown).Row
For lig = 2 To drlig
Me.ListBox1.AddItem .Range("D" & lig)
Me.ComboBox1.AddItem .Range("D" & lig)
Me.ComboBox2.AddItem .Range("D" & lig)
Next lig
End With
End Sub
Mon code bouton enregistrement :
Private Sub CommandButton4_Click()
'// Bouton Valider l'entraînement vers tableau de l'onglet "Fiche"
Dim réponse As Integer, cell As Range, i2 As Integer
'// Renseignement obligatoire avant enregistrement
If TextBox1 = "" Or Famille = "" Or ListBox1.ListIndex = -1 Then
MsgBox "Renseignement obligatoire manquant !!"
Exit Sub
End If
réponse = MsgBox("Confirmez-vous la validation des données ?", vbYesNo)
If réponse = vbNo Then Exit Sub
'// ajout contenu des objets dans le tableau de l'onglet "Fiche"
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
With Feuil4
i2 = .Cells(Rows.Count, 4).End(xlUp).Row + 1
.Range("D" & i2).Value = CDate(Format(TextBox1, "dd/mm/yyyy")) 'Format(TextBox1, "dd/mm/yyyy")
.Range("E" & i2).Value = ListBox1.List(i)
.Range("F" & i2).Value = Famille
.Range("G" & i2).Value = SousFamille
.Range("H" & i2).Value = Format(Duree, "hh:mm")
.Range("I" & i2).Value = ComboBox1
.Range("J" & i2).Value = ComboBox2
End With
i2 = i2 + 1
End If
Next i
'// réinitialisation des objets
MsgBox "Entraînement enregistré"
Unload Me
UserForm2.Show 0
End Sub
Cdlt
pompaero