Bonjour,
Mais s'il y a des gens qui veulent améliorer mon fichier, libre à vos propositions ;-)
Voici ce que j'aurais plutôt fait :
1. Votre combobox fait référence à la propriété Rowssource. A éviter car cela provoque quelques fois des soucis. Il faut lui préférer la méthode ADDITEM ou LIST
Donc là supprimez en premier la valeur "Base!matricule" avant de faire les points 2 et 3
2. Ajoutez ce code dans votre Usf et dans lequel je reprends le nom défini.
Private Sub UserForm_Initialize()
Combobox1_Numeros.List = Range("Matricule").Value
End Sub
3. Remplacez votre code Btn_Ajouter par celui ci-dessous :
Sub Btn_Ajouter_Click()
' Ajouter la valeur de chaque checkbox aux colonnes correspondantes pour la ligne correspondant à la valeur sélectionnée dans la combobox
Dim ligne As Byte
If Combobox1_Numeros = vbNullString Then MsgBox "Veuillez compléter la combo", vbcritcal, "Valeur manquante": Exit Sub 'verifier si combo est remplie
ligne = Application.Match(CByte(Combobox1_Numeros.Value), ThisWorkbook.Sheets("Base").Range("A:A"), 0)
With ThisWorkbook.Sheets("Base")
For i = 1 To 12
.Cells(ligne, i + 1).Value = IIf(Controls("Check" & i & "_p26").Value, 1, 0) ' Janvier a decembre
Next i
End With
End sub
A votre dispo si besoin
Si ok pour vous, pensez à
Cordialement