Ajouter une checkbox à un formulaire

Bonjour à tous,

Dans un Userform j'ai toute une série de CheckBox. Je voudrais en rajouter une, dont l'information devrai se retrouver dans une nouvelle colonne créé entre la colonne "I" et la colonne "K" de ma feuille actuelle.

Ajouter la case à cocher je sais faire. Par contre comment modifier mon code:

Public Derlig As Integer
Private CTRL As control
Private L&, I&

Private Sub ComboBox1_Change()
    Dim J&, k&
    On Error Resume Next
    If Flag Then Exit Sub
    With Feuil1
        k = Application.Match(ComboBox1, .Columns(1), 0)
        On Error GoTo 0
        If k <> 0 Then
            L = ComboBox1.ListIndex + 12
            For I = 1 To 26
                Controls("CheckBox" & I) = IIf(.Cells(L, I + 4) = "", 0, 1)
                Controls("CheckBox" & I).BackColor = IIf(Controls("CheckBox" & I), vbGreen, vbWhite)
            Next
            TextBox1 = .Cells(L, 4)
        End If
    End With
    Me.Height = 600
    Me.Width = 700
    Me.Top = Application.Height / 2 - Me.Height / 2
    Me.Left = Application.Width / 2 - Me.Width / 2
    Enregist.SetFocus
End Sub

Private Sub CommandButton2_Click()
    Unload Me
End Sub

Private Sub CommandButton3_Click()
    PERMIS_ET_FORMATIONS.PrintForm
Public Sub Enregist_Click()
    With Feuil1
        k = Application.Match(ComboBox1, .Columns(1), 0)
        L = ComboBox1.ListIndex + 12
        For I = 1 To 26
            If k <> 0 Then
                .Cells(L, I + 4) = IIf(Controls("CheckBox" & I) = 0, "", "ü")
            Else
                .Cells(Derlig, I + 4) = IIf(Controls("CheckBox" & I) = 0, "", "ü")
            End If
        Next
        .Cells(L, 4) = TextBox1.Value
    End With

    Unload Me
    PERMIS_ET_FORMATIONS.Show 0
End Sub

Private Sub Nouv_valid_Click()
    Unload Me
    Nouveau.Show 0
End Sub

Private Sub UserForm_Initialize()
    With Feuil1
        lig = .Range("A" & Rows.Count).End(xlUp).Row
        If lig < 12 Then Exit Sub
        If lig = 12 Then ComboBox1.AddItem .Range("A12") Else ComboBox1.List = .Range("A12:A" & lig).Value
    End With
End Sub

Private Sub CommandButton4_Click()
    Dim I As Byte
    Application.ScreenUpdating = False
    With Me.ComboBox1
        If .Value <> "" Then
            If MsgBox("Attention, vous allez débarquer " & .List(.ListIndex) & vbLf & _
                      "Confirmez-vous ce débarquement?", vbYesNoCancel) = vbYes Then
                Sheets("LUTIN").Cells(.ListIndex + 12, 1).Resize(1, 27).ClearContents
                Flag = True: .RemoveItem (.ListIndex)
            End If
        End If
        If Flag Then
            Call Tri_Base
            Me.ComboBox1 = "": Me.ComboBox1 = ""
            For I = 1 To 26
                Me.Controls("CheckBox" & I) = 0
                Me.Controls("CheckBox" & I).BackColor = vbWhite
            Next I
        End If
    End With
    Flag = False
    Unload Me
    PERMIS_ET_FORMATIONS.Show 0
End Sub

Merci par avance

Bonjour

djodjo a écrit :

Je voudrais en rajouter une

, comme on ne sait pas où sont les autres
djodjo a écrit :

une nouvelle colonne créé entre la colonne "I" et la colonne "K"

il y a déjà la colonne J

Il faut ton fichier, tu y indiques ce que tu as et ce que tu veux

Bonjour Banzaï64,

Milles excuses de mettre mal exprimé.

Le case à coché se trouvent sur le formulaire "PERMIS ET FORMATION"

Pour y acceder cliquez sur "FORMULAIRE"

Identifiant: Administrateur

MP:0000

La ou les case à cocher à rajoutés se trouverons dans permis

donc les colonnes seront sur la feuille "LUTIN" à la suite de la colonne "I" (la colonne "J" à déjà été rajoutée).

Mon fichier:

https://www.cjoint.com/c/EHskcZrJSYi

Merci par avance.

Bonjour

Je n'arrive pas à comprendre quel est le problème

Pour moi le programme fonctionne bien

Il faut que tu indiques ce que tu fais pour arriver au problème

Bonjour,

Il n'y a aucuns problèmes, je voudrai juste rajouter une case à cocher dans la section permis.

Mais je ne sais pas comment modifier le code

Bonjour

Dans la section permis tu as bien une case à cocher qui ne sert à rien car elle est invisible

Dans l'éditeur VBA tu affiches l'userform "PERMIS_ET_FORMATIONS"

Tu cliques 1 fois sur la checkbox6

Dans les propriétés tu modifies la valeur de la propriété Visible: De False tu passes à True

Dans la feuille Excel tu affiches la colonne I

C'est tout

A tester

Bonjour,

Ok jusque la pas de soucis, mais je voudrais en rajouter encore une voir deux et dans ces cas la je pense qu'il faut modifier le code afin que les infos rentrés dans l'Userform se retrouvent à la bonne place dans la feuille et que les informations soient également transmissent aux feuille "SYNTHESE" et "IMPRESSION"

Bonjour

Dans cette version je t'ai ajouté 6 checkbox

Ce qui sont en trop tu peux les rendre invisible et masquer la colonne correspondante

Pour ajouter (ou enlever) le plus simple (bien sur si tu as 200 contrôles à gérer cela sera moins pratique) c'est de renuméroter les contrôles

C'est ce que j'ai fait dans ce programme

Ensuite j'ai modifier les boucles de 1 To 26 ---> 1 To 32

Je t'ai modifié le tri pour qu'il prenne en compte les colonnes ajoutées

Bonjour Banzai64 ,

Un grand merci je regarde dès cette après midi à mon retour à la maison.

Bonjour Banzaï64,

Super tout fonctionne comme je le voulais.

Un grand merci à toi.

Rechercher des sujets similaires à "ajouter checkbox formulaire"