Microsoft 365 Joindre des textes avec cellules vides

  • Initiateur de la discussion Initiateur de la discussion dauof
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dauof

XLDnaute Nouveau
Bonjour,

je souhaiterais joindre des textes dans une ligne sans doublons avec une formule, j'ai cette formule:
=JOINDRE.TEXTE(",";;SI(EQUIV(A2:N2;A2:N2;0)=(COLONNE(A2:N2)-COLONNE(A2)+1);A2:N2;""))
Mais dès lors qu'il y a une cellule vide, la formule ne fonctionne pas. J'aimerai pouvoir joindre les textes en ignorant les cellules si le cas se présente.

Je vous remercie de votre retour
 

Pièces jointes

Bonjour,

Joindre.texte est une fonction apparue dans les versions excel 2019 et supérieures.

Il se dit que @patricktoulon a développé une fonction qui fait la même chose, mais il se trouve que j'avais dès 2007 développé la même ici, avec les mêmes variables et le même test de début.

Je vous laisse trouver.

Cordialement
 
Dernière édition:
re
et pour le coup j'ajoute la prise en charge des cellules vides
VB:
'********************************************
'fonction JOINDRE_TEXTE pour  les versions EXCEL inferieur à 2016
'patricktoulon
' version 1.0
'utilisation en formule:
'=JOINDRE_TEXTE2007(A1:A3;"-")' join plusieurs cellule contigues  de la meme colonne
'=JOINDRE_TEXTE2007(A1:C1;"-")' join plusieurs cellule contigues de la meme ligne
'*******************************************
Function JOINDRE_TEXTE2007(r As Range, Char As String)
Dim Tbl
If r.Rows.Count = 1 Then Tbl = Application.Index(r.Value, 1, 0) Else Tbl = Application.Transpose(r)
JOINDRE_TEXTE2007 = Replace(Application.Trim(Join(Tbl, " ")), " ", Char)
End Function

Sub test5()
MsgBox JOINDRE_TEXTE2007([A1:A8], "-")
MsgBox JOINDRE_TEXTE2007([A1:h1], "-")
End Sub
 
re
mieux encore !!
et pour le coup j'ajoute la possibilité de garder les espaces entre mot dans une même cellule
VB:
'********************************************
'fonction JOINDRE_TEXTE pour  les versions EXCEL inferieur à 2016
'patricktoulon
' version 1.0
'utilisation en formule:
'=JOINDRE_TEXTE2007(A1:A3;"-")' join plusieurs cellule contigues  de la meme colonne
'=JOINDRE_TEXTE2007(A1:C1;"-")' join plusieurs cellule contigues de la meme ligne
'*******************************************
Function JOINDRE_TEXTE2007(r As Range, Char As String)
Dim Tbl, T$
If r.Rows.Count = 1 Then Tbl = Application.Index(r.Value, 1, 0) Else Tbl = Application.Transpose(r)
T = Join(Tbl, "|"): T = Replace(T, " ", "*"): T = Application.Trim(Replace(T, "|", " "))
JOINDRE_TEXTE2007 = Replace(Replace(T, " ", Char), "*", " ")
End Function

Sub test5()
MsgBox JOINDRE_TEXTE2007([A1:A8], "-")
MsgBox JOINDRE_TEXTE2007([A1:h1], "-")
End Sub
demo.gif
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
330
Retour