Rajouter infos dans base de données - cases à cocher

Bonjour,

Je ne comprends pas pourquoi les informations ne se rajoutent pas dans ma base de données.

Construction :

Feuille "Base"

  • - Les ID (de 1 à 100) en colonne A.
  • - Les mois de l'année (de B janvier à M décembre)
  • - en colonne N, la somme de B à M.

Feuille "Accueil"

  • - Le formulaire apparait en cliquant sur la forme.

Principe :

  1. - Je choisis une ID à l'aide de la combobox
  2. - Je coche les mois (checkbox) qui m'intéressent
  3. - Si coché c'est 1, si c'est pas coché c'est 0.
  4. - Je clique sur "Ajouter"
  5. - Les 1 et 0 se rajoutent dans la ligne et colonnes concernées.

Le code ne signale pas d'erreur, mais le 1 ou 0 ne s'indiquent pas pour les colonnes selon l'ID. J'ai bien fait des me.check.... etc.

Pas de module pour tout ça, sauf pour appeler le formulaire.

Fichier en annexe. Merci pour votre aide. :-)

Bon weekend,

9checkbox.xlsm (33.57 Ko)

Bonjour

J'ai résolu l'affaire tout seul en mettant les valeurs sous format nombre dans la colonne A et utiliser la fonction clng pour la ligne application.match.

Mais s'il y a des gens qui veulent améliorer mon fichier, libre à vos propositions ;-)

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

Rechercher des sujets similaires à "rajouter infos base donnees cases cocher"