Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Concaténer les valeurs de plusieurs cellules si ces cellules contiennent du texte

wiseman

XLDnaute Nouveau
Bonjour,

Je doute fort qu'un tél sujet existe dans le forum, et m'excuse par avance si tél est le cas.

Voici mon problème :

J'ai une plage de cellule, disons : [ A1 : A10 ]
J'aimerais mettre en A12, la concaténation de la valeur des cellules qui contiennent du textes. ( En fait, j'ai tantôt du texte, tantôt une sortie booléenne )

Donc exemple:
Données d'entrée : [ faux, faux, faux, PARIS, faux, faux, faux, LONDRES, faux, faux ]
Donnée de sortie souhaité : "PARISLONDRES" (ou avec un séparateur "PARIS LONDRES")

J'espère que c'est bien décrit, merci pour votre aide.
 

Pièces jointes

  • Book1.xlsx
    11.2 KB · Affichages: 14

chris

XLDnaute Barbatruc
Bonjour à tous

Cela partant du principe qu'il y a forcément 2 et seulement 2 valeurs non FAUX

Matricielle à valider par CTRL Shift Entrée
VB:
=INDEX(A1:A10;MIN(SI(A1:A10<>FAUX;LIGNE(A1:A10);1000)))&" "&INDEX(A1:A10;MAX(SI(A1:A10<>FAUX;LIGNE(A1:A10);0)))
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil,

Pour le fun (et brut de décoffrage)
VB:
Function concatspecial(rng As Range, Optional Chn As Boolean = False)
t = Application.Transpose(rng)
concatspecial = VBA.Trim(Replace(Join(t, " "), Chn, vbNullString))
End Function
Exemples d'utilisation
Par défaut
=concatspecial(A1:A6)
Si il y a du VRAI dans la plage
=concatspecial(A1:A6;VRAI)
 

wiseman

XLDnaute Nouveau
Bonjour à tous, et merci infiniment pour la qualité de vos retours.

La fonction SUBSTITUTE, avec pour arguments FAUX et le vide ("") qui le remplace, a résolu mon problème.
( Grand merci @mapomme ; J'aurais appris l'existence de 2 fonctions pour le coup )

Je garde en backup :
la fonction VBA ( Merci @Staple1600 ) s'il est un jour besoin d'écrire ces valeurs en dur
la formule matricielle si le besoin évolue ( Merci @chris )

Merci également @reblochon pour sa prompte réponse concernant la pertinence du sujet lancé.

Bonne continuation, à une prochaine !
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…