Userform avec ListBox et Cases à cocher

Bonjour,

Pour mon stage je dois réaliser un formulaire sur Excel. J'ai plusieurs ListBox à choix multiples et plusieurs cases à cocher dans un frame mais je n'arrive pas à intégrer les sélections à ma feuille excel.

Peut-être auriez-vous une idée du problème...

Cordialement

90equipeverte.xlsm (37.29 Ko)

Bonjour et bienvenue sur le forum

Tu as ce code :

        Range("A" & L).Value = CDate(TextBoxDate1)
        Range("B" & L).Value = CDate(TextBoxDate2)
        Range("C" & L).Value = CStr(ComboBoxTroncon)
        Range("D" & L).Value = CStr(ComboBoxCoursEau)
        Range("E" & L).Value = CInt(TextBoxLineaire) 'on transforme en nombre (Integer)
        Range("F" & L).Value = CStr(ListBoxComm)
        Range("G" & L).Value = CInt(TextBoxVolume)
        Range("H" & L).Value = CInt(TextBoxNbAgent)
        'Range("I" & L).Value = CStr(ListBoxObjectifs)
        'Range("J" & L).Value = CStr(action) 

Mais tu ne précises pas la feuille concernée.

Tu as le choix entre :

 Sheets("Equipe_Verte").Range("A" & L).Value = CDate(TextBoxDate1)
        Sheets("Equipe_Verte").Range("B" & L).Value = CDate(TextBoxDate2)
        Sheets("Equipe_Verte").Range("C" & L).Value = CStr(ComboBoxTroncon)
        Sheets("Equipe_Verte").Range("D" & L).Value = CStr(ComboBoxCoursEau)
        Sheets("Equipe_Verte").Range("E" & L).Value = CInt(TextBoxLineaire) 'on transforme en nombre (Integer)
        Sheets("Equipe_Verte").Range("F" & L).Value = CStr(ListBoxComm)
        Sheets("Equipe_Verte").Range("G" & L).Value = CInt(TextBoxVolume)
        Sheets("Equipe_Verte").Range("H" & L).Value = CInt(TextBoxNbAgent)
        'Range("I" & L).Value = CStr(ListBoxObjectifs)
        'Range("J" & L).Value = CStr(action)

Ou encore :

    With Sheets("Equipe_Verte")
        .Range("A" & L).Value = CDate(TextBoxDate1)
        .Range("B" & L).Value = CDate(TextBoxDate2)
        .Range("C" & L).Value = CStr(ComboBoxTroncon)
        .Range("D" & L).Value = CStr(ComboBoxCoursEau)
        .Range("E" & L).Value = CInt(TextBoxLineaire) 'on transforme en nombre (Integer)
        .Range("F" & L).Value = CStr(ListBoxComm)
        .Range("G" & L).Value = CInt(TextBoxVolume)
        .Range("H" & L).Value = CInt(TextBoxNbAgent)
        '.Range("I" & L).Value = CStr(ListBoxObjectifs)
        '.Range("J" & L).Value = CStr(action)
    End With

Et prends soin de gérer les cas particuliers comme :

Range("E" & L).Value = CInt(TextBoxLineaire) 'on transforme en nombre (Integer)

Si le contenu de ton texbox est vide, c’est le Bug

OK ?

Merci pour cette réponse. Je regarde ça demain.

Salut,

Je viens d'essayer ta solution et ça ne change rien au problème. En fait, les sélections sur les listbox et les cases à cocher ne s'affichent pas dans ma feuille Excel. L'autre problème vient de la fonction ConcatList() dans ce code :

Private Sub ListBoxObjetifs_Click()
    Function ConcatList() As String
        Dim Txt As String
            For i = 1 To ListBoxObjectifs.ListCount
                If ListBoxObjectifs.Selected(i) = True Then
                    Txt = Txt & ListBoxObjectifs.List(i) & " ; "
                End If
            Next i
            ConcatList = Txt
    End Function
        ActiveCell = ConcatList()
End Function

Je débute en VBA et je ne voie pas ce qui cloche.

Finalement j'ai résolu le problème de la fonction ConcatList.

Cependant le problème des sélections des listBox qui ne s'affichent pas demeure.

Bonjour

Un essai à tester :

132equipeverte-v1.xlsm (39.05 Ko)

Bye !

Bonjour,

Ça fonctionne ! Merci. Par contre, on ne peut choisir qu'une seule commune et qu'un seul objectif. Serait-ce possible avec un choix multiple pour ces listbox ?

Merci d'avance

Lucile

Re

Alors, la demande du commanditaire a un peu évolué par rapport aux objectifs et aux actions. En gras les objectifs et en dessous les actions correspondantes :

1. Diminuer l'impact des déchets diffus sur le milieu

1.1. Collecte des déchets et mise en déchetterie

2. Entretenir la végétation de berge

2.1. Débroussaillage (invasive)

2.2. Abattage, démontage et broyage des rémanents

2.3. Arrachage des invasives

3. Amélioration/rétablissement des écoulements

3.1. Débroussaillage

3.2. Abattage, démontage et broyage des rémanents

3.3. Élagage

3.4. Désembaclement

4. Maintenir la végétation pour ralentir les flux

4.1. Vérification de la qualité des boisements

5. Faciliter le transit sédimentaire

5.1. Débroussaillage des atterrissements

5.2. Petits abattages, démontage et broyage des rémanents

Si on sélectionne l’objectif 1 alors l’action proposée est l’action 1.1

Si on sélectionne l’objectif 2 alors les actions proposées sont les actions 2.1 ; 2.2 ; 2.3 ...

Sachant qu’on peut sélectionner plusieurs objectifs et plusieurs actions.

J'ai mis les objectifs et les actions dans des listbox à choix multiples.

Le nouveau fichier est en pièce jointe.

37equipeverte.xlsm (38.80 Ko)

Nouvel essai à tester.

Bye !

213equipeverte-v2.xlsm (41.02 Ko)

Génial ! Ça fonctionne ! Merci !

Rechercher des sujets similaires à "userform listbox cases cocher"