Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formule CONCATENER paramétrée

3 réponses
Avatar
Franck
Bonjour à tous,

Je cherche un moyen d'écrire une formule CONCATENER adaptable.
J'ai des données sur la ligne A (le nombre de colonnes variant suivant les
fichiers traités).

Je me situe dans la première cellule libre de A avec le code
Range("AA1").End(xlToLeft).Offset(0, 1).Select

Le but est maintenant d'écrire dans cette cellule un formule type
=CONCATENER(....)

Le problème réside dans le fait de décalrer toutes les colonnes a concaténer
: le but étant de concaténer les valeurs des colonnes 1 à x (la formule
s'écrivant en x+1)

Voyez vous une solution ?

Merci de votre aide

3 réponses

Avatar
Clément Marcotte
Bonjour,

À la volée et non testé.

Function ConcateneAGauche()
dim lafin as long, i as long,laligne as long
laligne = activecell.row
lafin = activecell.column - 1
for i = 1 to lafin
activecell.value = activecell.value & " " & cells(laligne,i).value
next
end function

"Franck" a écrit dans le message de news:

Bonjour à tous,

Je cherche un moyen d'écrire une formule CONCATENER adaptable.
J'ai des données sur la ligne A (le nombre de colonnes variant suivant les
fichiers traités).

Je me situe dans la première cellule libre de A avec le code
Range("AA1").End(xlToLeft).Offset(0, 1).Select

Le but est maintenant d'écrire dans cette cellule un formule type
=CONCATENER(....)

Le problème réside dans le fait de décalrer toutes les colonnes a
concaténer
: le but étant de concaténer les valeurs des colonnes 1 à x (la formule
s'écrivant en x+1)

Voyez vous une solution ?

Merci de votre aide






Avatar
Ellimac
Bonjour,

Je suppose que tu veux concaténer la ligne 1 :

Sub Toto()
c = Range("IV1").End(xlToLeft)
For cpt = 1 To c
a = a & Cells(1, cpt) & ";"
Next
a = Left(a, Len(a) - 1)
Range("IV1").End(xlToLeft).Offset(,1)= a
End Sub

Camille

"Franck" wrote:

Bonjour à tous,

Je cherche un moyen d'écrire une formule CONCATENER adaptable.
J'ai des données sur la ligne A (le nombre de colonnes variant suivant les
fichiers traités).

Je me situe dans la première cellule libre de A avec le code
Range("AA1").End(xlToLeft).Offset(0, 1).Select

Le but est maintenant d'écrire dans cette cellule un formule type
=CONCATENER(....)

Le problème réside dans le fait de décalrer toutes les colonnes a concaténer
: le but étant de concaténer les valeurs des colonnes 1 à x (la formule
s'écrivant en x+1)

Voyez vous une solution ?

Merci de votre aide






Avatar
Franck
Voici ma solution :

Range("AA1").End(xlToLeft).Offset(0, 1).Select

Col = ActiveCell.Column

Columns(Col).Select
Selection.NumberFormat = "General"

For i = 1 To Col - 1

x = Col - i

Cells(j, Col).Value = Cells(j, Col).Value & Cells(j, Col).Offset(0, -x)

Next i

"Ellimac" wrote:

Bonjour,

Je suppose que tu veux concaténer la ligne 1 :

Sub Toto()
c = Range("IV1").End(xlToLeft)
For cpt = 1 To c
a = a & Cells(1, cpt) & ";"
Next
a = Left(a, Len(a) - 1)
Range("IV1").End(xlToLeft).Offset(,1)= a
End Sub

Camille

"Franck" wrote:

Bonjour à tous,

Je cherche un moyen d'écrire une formule CONCATENER adaptable.
J'ai des données sur la ligne A (le nombre de colonnes variant suivant les
fichiers traités).

Je me situe dans la première cellule libre de A avec le code
Range("AA1").End(xlToLeft).Offset(0, 1).Select

Le but est maintenant d'écrire dans cette cellule un formule type
=CONCATENER(....)

Le problème réside dans le fait de décalrer toutes les colonnes a concaténer
: le but étant de concaténer les valeurs des colonnes 1 à x (la formule
s'écrivant en x+1)

Voyez vous une solution ?

Merci de votre aide