Macro Excel : 1 code pour 25 ListBox ???

Résolu
Elodie -  
 Elodie -
Bonjour,

J'ai plusieurs ListBox pour lesquelles je veux utiliser le meme code, sans avoir à le retaper 25 fois. Est-il possible d'appliquer ce genre de code dans ce cas (sachant que mes ListBox ne sont pas dans le meme cadre) ?

Dim Ctrl As Control

For Each Ctrl In Frame2.Controls
If Ctrl.Object.Value = True Then
Range("B6").Value = Ctrl.Object.Caption
Exit For
End If
Next Ctrl

Le code de mes ListBox est le suivant :

Function ConcaTList() As String
Dim Txt As String
For i = 0 To ListBox1.ListCount
If ListBox1.Selected(i) = True Then
Txt = Txt & ListBox1.List(i)
End If
Next i
suite:
ConcaTList = Txt

End Function

Merci de votre aide !
Elodie

2 réponses

  1. Paf
     
    Re

    après avoir fouillé dans ton classeur (sans explication !!), la proposition :

    dans la Private Sub CommandButton1_Click()

            Range("A1") = ConcaTList(1)
            Range("B1") = ConcaTList(2)
            Range("C1") = TextBox1.Text
            Range("B2") = ConcaTList(9)
            Range("C2") = TextBox5.Text
    .....
    puis une seule fonction:
    Function ConcaTList(Param) As String
    Dim Txt As String
    Dim MonControl As Control
    For Each MonControl In Controls
     If MonControl.Name = "ListBox" & Param Then
        For i = 0 To MonControl.ListCount
            If MonControl.Selected(i) = True Then
                Txt = Txt & MonControl.List(i)
            End If
        Next i
    End If
    Next
    suite:
        ConcaTList = Txt
        
    End Function


    bonne suite et à plus si des questions
    1
    1. Elodie
       
      Bonjour Paf,

      Effectivement j'ai un complètement zappé les commentaires sur mon fichier. Excuse moi.

      Merci pour la fonction unique avec le Paramètre, ça marche nickel !

      Bonne continuation et bonne journée
      elo
      0
  2. Paf
     
    bonjour

    Pas de réponse directe; mais en voyant le fichier, sans doute une réponse !
    un fichier(au format 2003) déposé sur http://cijoint.fr/ permettrait sans doute de répondre plus facilement.

    A+
    0
    1. Elodie
       
      Bonjour Paf,

      Le fichier a été déposé à cette adresse : http://www.cijoint.fr/cjlink.php?file=cj201108/cijLSSiA5u.xls

      Merci si tu peux m'aider.
      Bonne journée
      0