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

XL 2016 Eviter d'écrire ceci B6&" "&B7&" "&B8&" "&B9&" "&B10&" "&B11&" "&B12&" "&B13&" "&B14&" "&B15&" "&B16&" "&B17&" "&B18&" "&B19&" "&B20&" "&B21&" "&B22&"

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 !

nounou1902

XLDnaute Nouveau
Bonjour,

connaissez vous une autre manière d'écrire ceci :
- B6&" "&B7&" "&B8&" "&B9&" "&B10&" "&B11&" "&B12&" "&B13&" "&B14&" "&B15&" "&B16&" "&B17&" "&B18&" "&B19&" "&B20&" "&B21&" "&B22&" "&B23&" "&B24&" "&B25

car je dois aller jusqu'à 4000 lol et le faire 20 fois car j'ai 20 colonne tel qu'elle

Merci pour vos retour sur internet je n'est rien trouvé
 
Solution
Bonjour à tous,

Essai cette fonction personnalisée code à mettre dans un module
VB:
Function TEXTJOIN(Delimiter As String, IgnoreEmpty As Boolean, ParamArray Parm() As Variant)
Dim E, C As Range, V, t() As String, N&
For Each E In Parm
  If TypeName(E) = "Range" Then
     For Each C In E.Cells
        V = C.Value: GoSub 1
        Next C
     ElseIf IsArray(E) Then
        For Each V In E: GoSub 1: Next V
     Else
        V = E: GoSub 1
        End If: Next E
TEXTJOIN = Join(t, Delimiter)
Exit Function
1: If V = "" And IgnoreEmpty Then Return
N = N + 1
ReDim Preserve t(1 To N): t(N) = V
Return
End Function

Ce code m'a été élaboré par un membre du forum, merci Mr Dranreb 😉 .

JHA
Bonjour

essaye la fonction "JOINDRE.TEXTE" qui permet de concaténer des plages avec un séparateur

=JOINDRE.TEXTE(" ";TRUE";B6:B25) si tu ne veux pas concaténer les cellules vide sinon il faut mettre FAUX dans le 2eme paramètre
 
Bonjour à tous,

Essai cette fonction personnalisée code à mettre dans un module
VB:
Function TEXTJOIN(Delimiter As String, IgnoreEmpty As Boolean, ParamArray Parm() As Variant)
Dim E, C As Range, V, t() As String, N&
For Each E In Parm
  If TypeName(E) = "Range" Then
     For Each C In E.Cells
        V = C.Value: GoSub 1
        Next C
     ElseIf IsArray(E) Then
        For Each V In E: GoSub 1: Next V
     Else
        V = E: GoSub 1
        End If: Next E
TEXTJOIN = Join(t, Delimiter)
Exit Function
1: If V = "" And IgnoreEmpty Then Return
N = N + 1
ReDim Preserve t(1 To N): t(N) = V
Return
End Function

Ce code m'a été élaboré par un membre du forum, merci Mr Dranreb 😉 .

JHA
 
Dernière édition:
- 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
11
Affichages
1 K
Réponses
9
Affichages
3 K
Réponses
9
Affichages
993
Réponses
9
Affichages
7 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…