Concatener tous les items d'un listbox dans une cellule

Private Sub Image_enregistrer_Click()
    Dim i As Integer, s As String

    For i = 0 To Result.ListBoxManquant.ListCount - 1
        s = s & """" & Result.ListBoxManquant.List(i) & """& chr(10) &"
    Next
    If Len(s) > 1 Then s = Left(s, Len(s) - 11)
    .Range("A5").Formula = s

End sub

C'est bien ce que je pensais... Un mix des 2 solutions évoquées, mais surement ni l'une, ni l'autre ! Un essai :

Private Sub Image_enregistrer_Click()
    Dim i As Integer, s As String

    For i = 0 To Result.ListBoxManquant.ListCount - 1
        s = s & Result.ListBoxManquant.List(i) & chr(10)
    Next
    If Len(s) > 1 Then s = Left(s, Len(s) - 11)
    Sheets("NomFeuille").Range("A5").Value = s

End sub

C'est soit tu inscris une formule Excel valide (avec le nom de fonction en anglais, et les doubles guillemets quand c'est nécessaire), soit tu réalises directement ce travail dans VBA pour n'inscrire que le résultat dans ta feuille (ce qui me parait personnellement plus logique). Dans ce cas, pas de double guillemets, voire pas du tout de guillemets, et les noms de fonction VBA (chr() pour CAR()).

@Pedro22 : Oula non, j'ai passé 4h hier pour créer un pauvre tableau en HTML à partir d'un array, c'est très instructif ... mais très laborieux

Il n'y a pas des formules pour mâcher ce travail dans le pack de fonction du site ? Du genre celle-ci.

Sinon, Pijaku m'avait magistralement aidé sur ce sujet

Ergotamine, j'ai donc essayé avec char(10) et ca ne fonctionne pas mieux

Comme dit Pedro je me suis complétement mélanger entre les deux solutions ! Entre les CAR CHAR ET CHR ca n'allais plus !!!!

Merci Pedro22 c'est parfait comme cela.

Ergotamine je m'excuse de ne pas avoir vu le premier message puis de ne pas avoir perséverer sur tas propsition, je n'y arrivait pas non plus.

Merci a vous deux bonne journée !

Bonjour,

Pas de soucis c'est pour vous pas pour moi.
Pour résumer dans votre code si vous souhaitez mettre un saut à la ligne :
- "&CHAR(10)&" : Dans une chaîne de caractère puis inscrite dans une cellule via Range.Formula où la langue est l'anglais et la fonction EXCEL est CHAR
- "&CAR(10)&" : Dans une chaîne de caractère puis inscrite dans une cellule via Range.FormulaLocal où la langue est la langue du système windows de l'utilisateur et la fonction EXCEL est CAR
- & chr(10) & : Directement dans le code VBA mais à a ce moment là via Range.Value

Cdlt,

Bien vu pour la synthèse Ergotamine !

Bonne journée,
Pierre

Rechercher des sujets similaires à "concatener tous items listbox"