Fonction &

Bonjour

j'aurai besoin d aide sur un fichier excel

je voudrais rassemble en une seul cellule plusieurs cellules et en séparant par une ","

ma formule que j'ai trouver est

=B4&","&B5&","&B6&","&B7&","&B8&","&B9&","&B10&","&B11&","&B12&","&B13

mon probleme est que si les cellule B13 est vide il me rajoute commen meme la ','

exemple

1,2,3,4,5,6,7,8,9,,

je voudrais une formule sans les virgule à la fin

ci join le fichier

cordialement

olivier

11classeur1.xlsx (8.49 Ko)

Bonjour,

Une proposition avec une fonction de feuille personnalisée (VBA).

ALT F11 pour ouvrir l'éditeur VBE ; voir module Functions.

Cdlt.

4olivcoco.xlsm (19.41 Ko)
Public Function fnTextJoin(rng As Range) As String
Dim Cell As Range, txt As String
    fnTextJoin = ""
    If rng Is Nothing Then Exit Function
    For Each Cell In rng
        If Not IsEmpty(Cell) Then txt = txt & Cell.Value &","
    Next
    fnTextJoin = Left(txt, Len(txt) - 1)
End Function

Bonjour olivcoco,

Salut Jean-Éric

Sinon, il y a la version (très !) longue

=B4&SI(B5<>"";","&B5;"")&SI(B6<>"";","&B6;"")&SI(B7<>"";","&B7;"")&SI(B8<>"";","&B8;"")&SI(B9<>"";","&B9;"")&SI(B10<>"";","&B10;"")&SI(B11<>"";","&B11;"")&SI(B12<>"";","&B12;"")&SI(B13<>"";","&B13;"")&SI(B14<>"";","&B14;"")

Bonjour le forum

[b]...................&B10&SI(B11>0;",";""&B12&SI(B13>0;",";""................[/b]

Bonjour

Vous etes obligez (a ma connaissance de passer par une macro) ou sinon faire une formule monstreuse comme le montre mbbp.

Merci

J ai pris la version vba

Bonjour olivcoco,

Salut Jean-Éric

Sinon, il y a la version (très !) longue

=B4&SI(B5<>"";","&B5;"")&SI(B6<>"";","&B6;"")&SI(B7<>"";","&B7;"")&SI(B8<>"";","&B8;"")&SI(B9<>"";","&B9;"")&SI(B10<>"";","&B10;"")&SI(B11<>"";","&B11;"")&SI(B12<>"";","&B12;"")&SI(B13<>"";","&B13;"")&SI(B14<>"";","&B14;"")

Bonjour à tous

Autre solution qui ne nécessite pas de SI :

=SUBSTITUE(SUPPRESPACE(B4&" "&B5&" "&B6&" "&B7&" "&B8&" "&B9&" "&B10&" "&B11&" "&B12&" "&B13)," ",",")

J'explique :

On ne met pas des virgules entre les valeurs mais des espaces, la fonction supprespace se charge ensuite d'enlever les espaces en trop, puis la fonction substitue remplace les espaces restants par des virgules, voilà

Rechercher des sujets similaires à "fonction"