XL 2019 concatener 150 cellules sur une ligne

LEPATOCHE

XLDnaute Occasionnel
Bonsoir a tous
je voudrais concaténer mes 150 premières cellules de ma ligne 1 ,
je ne veux pas les faire tous a la main cela prend trop de temps
merci de votre aide bonne soirée a bientôt ! ma formule concaténer sera mise en EU 1
j'accepte aussi une macro .
 

Staple1600

XLDnaute Barbatruc
Re

@LEPATOCHE
Tu ne comprends pas quoi ? Tu as testé au moins ?

Appuie sur la touche F5 pour te rendre sur la cellule EU1
(ou sélectionne-la manuellement)
puis saisis dans EU1 la formule que je te propose

Tu auras alors en EU1 la concaténation des 150 cellules de la ligne 1
(en partant de A1)
 

Staple1600

XLDnaute Barbatruc
Re

@LEPATOCHE (précisions)
1) Donc tu appuies sur F5
un boite de dialogue va alors s'afficher
Dans le champ Référence:
Tu saisis: EU1
Puis tu cliques sur [OK]
Tu retrouveras alors dans la cellule EU1
Il te suffit de saisir (ou de copier/coller) la formule que j'ai posté dans mon premier message.

Résultat obtenu
la cellule EU1 contiendra la concaténation des cellules A1:ET1
(en ignorant les cellules vides, si il y en a)

PS: je précise que JOINDRE.TEXTE est disponible depuis Excel 2019
(à verifier)
 

Staple1600

XLDnaute Barbatruc
Re

@LEPATOCHE
Pour te convaincre que cela fonctionne, voir la copie d'écran ci-dessous
CaMarcheNon.png
 

Staple1600

XLDnaute Barbatruc
Re

@LEPATOCHE
Tu as mis Excel 2019 comme préfixe à ta discussion
Sur cette information que je suis basée pour proposer ma formule

Et voici la confirmation de Microsoft

Donc édites le titre de ta discussion et indique : Excel 2016
 

Staple1600

XLDnaute Barbatruc
@LEPATOCHE

Avec cette fonction VBA personnalisée, cela fonctionnera sur ton PC
VB:
Function CONCATH(r As Range, sep As String) As String
Dim vHR
vHR = Application.Transpose(r.Value)
CONCATH = Join(Application.Transpose(vHR), sep)
End Function
En EU1, saisir la formule ci-dessous
=concatH(A1:ET1;";")
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous :),

Et pourquoi pas ? :eek:😄😜:
VB:
=CONCATENER(A1;B1;C1;D1;E1;F1;G1;H1;I1;J1;K1;L1;M1;N1;O1;P1;Q1;R1;S1;T1;U1;V1;W1;X1;Y1;Z1;AA1;AB1;AC1;AD1;AE1;AF1;AG1;AH1;AI1;AJ1;AK1;AL1;AM1;AN1;AO1;AP1;AQ1;AR1;AS1;AT1;AU1;AV1;AW1;AX1;AY1;AZ1;BA1;BB1;BC1;BD1;BE1;BF1;BG1;BH1;BI1;BJ1;BK1;BL1;BM1;BN1;BO1;BP1;BQ1;BR1;BS1;BT1;BU1;BV1;BW1;BX1;BY1;BZ1;CA1;CB1;CC1;CD1;CE1;CF1;CG1;CH1;CI1;CJ1;CK1;CL1;CM1;CN1;CO1;CP1;CQ1;CR1;CS1;CT1;CU1;CV1;CW1;CX1;CY1;CZ1;DA1;DB1;DC1;DD1;DE1;DF1;DG1;DH1;DI1;DJ1;DK1;DL1;DM1;DN1;DO1;DP1;DQ1;DR1;DS1;DT1;DU1;DV1;DW1;DX1;DY1;DZ1;EA1;EB1;EC1;ED1;EE1;EF1;EG1;EH1;EI1;EJ1;EK1;EL1;EM1;EN1;EO1;EP1;EQ1;ER1;ES1;ET1)

C'est pour rire mais ça fonctionne très bien !
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil

@mapomme
Avez-vous usé d'un subterfuge de la sorte ?
VB:
Sub LaPetiteAstuce()
Dim r As Range, c As Range, s$
Set r = Range("A1:ET1")
For Each c In r
s = s & ";" & c.Address(0, 0)
Next
[EU1] = Mid(s, 2, 999)
End Sub
Ou à minuit et 16 minutes, une irrepressible envie de caresser votre clavier s'est-elle emparée de vous ?
Et vous avez céder à la tentation 573 fois :eek:

Si tel est le cas, j'admire votre endurance digitale. ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 764
Messages
2 091 867
Membres
105 084
dernier inscrit
lca.pertus