XL 2016 Problème formule Concatener

cmdavid

XLDnaute Occasionnel
Bonjour à tous,
j'ai modifié les formules Concatener en horizontal pour obtenir des noms avec +, mais je ne trouve pas la bonne formule pour ne pas avoir de +++ à la fin, voir fichier joint.
merci pour votre aide,
cordialement,
 

Pièces jointes

  • tri horizontal.xlsx
    9.7 KB · Affichages: 8
Solution
Bonjour Cmdavid,
En X2 essayez :
VB:
=SI(L2="";W2;W2&REPT(REPT("+";ESTTEXTE(W2))&L2;ESTTEXTE(L2)))
On regarde si la nouvelle chaine de caractère est vide, si oui on garde la valeur précédente, sinon on la rajoute.

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Cmdavid,
En X2 essayez :
VB:
=SI(L2="";W2;W2&REPT(REPT("+";ESTTEXTE(W2))&L2;ESTTEXTE(L2)))
On regarde si la nouvelle chaine de caractère est vide, si oui on garde la valeur précédente, sinon on la rajoute.
 

Pièces jointes

  • tri horizontal.xlsx
    9.1 KB · Affichages: 3

Dranreb

XLDnaute Barbatruc
Bonjour.
Quand les fonctions Excel ne conviennent pas bien je n'hésite pas à m'écrire ça en VBA dans un module standard :
VB:
Option Explicit
Function ConcSsDblPlus(ByVal R) As String
   Dim TJn() As String, V, X As Integer, P As Integer
   ReDim TJn(1 To R.Count)
   On Error Resume Next
   For Each V In R
      Err.Clear: X = WorksheetFunction.Match(V, TJn, 0)
      If Err And V <> "" Then P = P + 1: TJn(P) = V
      Next V
   ReDim Preserve TJn(1 To P)
   ConcSsDblPlus = Join(TJn, "+")
   End Function
En AG2 :
Code:
=ConcSsDblPlus($B2:$I2)
 

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonjour & toutes & à tous, Bonjour @cmdavid
Si V2 est vide, en W2 la formule
VB:
=V2&REPT("+";ESTTEXTE(V2)*(V2<>"")*ESTTEXTE(K2)*(K2<>""))&REPT(K2;ESTTEXTE(K2))
A recopier vers la droite

le "+" est conditionné à la fois par
  • la cellule de gauche est un texte non vide
et
  • La cellule à recopier est un texte
Voir le fichier joint
A bientôt
 

Pièces jointes

  • Problème formule Concatener.xlsx
    9.8 KB · Affichages: 3

Discussions similaires

Réponses
9
Affichages
307