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

Concaténation de cellule + entête de colonne.

8 réponses
Avatar
Richard_35
Bonjour à tous,

Je souhaiterais obtenir le code nécessaire afin de concaténer, dans une
cellule particulière, le contenu d'un ensemble de cellules de la même ligne
et le contenu de l'entête de colonne correspondant.

Il faudrait que je puisse indiquer facilement la cellule réceptrice ainsi
que la plage de cellules concernée.

Exemple de fichier Excel à traiter :
A B C D E
1 Ent1 Ent2 Ent3 Ent4
2 X Y Z T
3 A Z E R
4 Q S D F

J'indique E2 ainsi que B2/D4, et j'obtiens :
A B C D E
1 Ent1 Ent2 Ent3 Ent4
2 X Y Z T Ent2/Y/Ent3/Z/Ent4/T
3 A Z E R Ent2/Z/Ent3/E/Ent4/R
4 Q S D F Ent2/S/Ent3/D/Ent4/F

J'espère que le cahier des charges est clair...
Merci d'avance de votre aide,
Richard.

8 réponses

Avatar
new1
On 15 sep, 18:40, Richard_35
wrote:
Bonjour à tous,

Je souhaiterais obtenir le code nécessaire afin de concaténer, dans u ne
cellule particulière, le contenu d'un ensemble de cellules de la même ligne
et le contenu de l'entête de colonne correspondant.

Il faudrait que je puisse indiquer facilement la cellule réceptrice ain si
que la plage de cellules concernée.

Exemple de fichier Excel à traiter :
    A     B      C     D     E
1 Ent1 Ent2 Ent3 Ent4
2  X     Y      Z     T
3  A     Z      E     R
4  Q     S      D    F

J'indique E2 ainsi que B2/D4, et j'obtiens :
    A     B      C     D     E
1 Ent1 Ent2 Ent3 Ent4
2  X     Y      Z     T     Ent2/Y/Ent3/Z/Ent4/T
3  A     Z      E     R     Ent2/Z/Ent3/E/Ent4/R
4  Q     S      D    F      Ent2/S/Ent3/D/Ent4/F

J'espère que le cahier des charges est clair...
Merci d'avance de votre aide,
Richard.



Bonsoir,

Peut être que la formule suivante peut convenir, formule à placer en
cellule E1 puis à recopier vers le bas.
=CONCATENER(A$1;"/";A2;"/";B$1;"/";B2;"/";C$1;"/";C2;"/";D$1;"/";D2)

Cordialement;

new1
Avatar
Richard_35
Bonsoir new1,

Merci de ta réponse mais c'est, justement, ce que je veux éviter de faire !
C'était juste un exemple. J'ai beaucoup de colonnes à concaténer, il me faut
donc un bout de code VB afin d'indiquer une plage à traiter.

Merci d'avance de l'aide de tous les spécialistes VB,
Richard.

"new1@[no/spam]realce.net" a écrit :

On 15 sep, 18:40, Richard_35
wrote:
> Bonjour à tous,
>
> Je souhaiterais obtenir le code nécessaire afin de concaténer, dans une
> cellule particulière, le contenu d'un ensemble de cellules de la même ligne
> et le contenu de l'entête de colonne correspondant.
>
> Il faudrait que je puisse indiquer facilement la cellule réceptrice ainsi
> que la plage de cellules concernée.
>
> Exemple de fichier Excel à traiter :
> A B C D E
> 1 Ent1 Ent2 Ent3 Ent4
> 2 X Y Z T
> 3 A Z E R
> 4 Q S D F
>
> J'indique E2 ainsi que B2/D4, et j'obtiens :
> A B C D E
> 1 Ent1 Ent2 Ent3 Ent4
> 2 X Y Z T Ent2/Y/Ent3/Z/Ent4/T
> 3 A Z E R Ent2/Z/Ent3/E/Ent4/R
> 4 Q S D F Ent2/S/Ent3/D/Ent4/F
>
> J'espère que le cahier des charges est clair...
> Merci d'avance de votre aide,
> Richard.

Bonsoir,

Peut être que la formule suivante peut convenir, formule à placer en
cellule E1 puis à recopier vers le bas.
=CONCATENER(A$1;"/";A2;"/";B$1;"/";B2;"/";C$1;"/";C2;"/";D$1;"/";D2)

Cordialement;

new1



Avatar
isabelle
bonjour Richard,

Sub test1()
Set plage = Selection 'sélection préalable de la plage à traiter
colonne = 2 ' le numéro de colonne peut être adapter avec un inputbox
For i = colonne To plage.Columns.Count
x = x & plage.Rows(1).Columns(i) & "/" & plage.Rows(colonne).Columns(i)
& "/"
Next
End Sub

isabelle

Richard_35 a écrit :
Bonsoir new1,

Merci de ta réponse mais c'est, justement, ce que je veux éviter de faire !
C'était juste un exemple. J'ai beaucoup de colonnes à concaténer, il me faut
donc un bout de code VB afin d'indiquer une plage à traiter.

Merci d'avance de l'aide de tous les spécialistes VB,
Richard.

"new1@[no/spam]realce.net" a écrit :


On 15 sep, 18:40, Richard_35
wrote:

Bonjour à tous,

Je souhaiterais obtenir le code nécessaire afin de concaténer, dans une
cellule particulière, le contenu d'un ensemble de cellules de la même ligne
et le contenu de l'entête de colonne correspondant.

Il faudrait que je puisse indiquer facilement la cellule réceptrice ainsi
que la plage de cellules concernée.

Exemple de fichier Excel à traiter :
A B C D E
1 Ent1 Ent2 Ent3 Ent4
2 X Y Z T
3 A Z E R
4 Q S D F

J'indique E2 ainsi que B2/D4, et j'obtiens :
A B C D E
1 Ent1 Ent2 Ent3 Ent4
2 X Y Z T Ent2/Y/Ent3/Z/Ent4/T
3 A Z E R Ent2/Z/Ent3/E/Ent4/R
4 Q S D F Ent2/S/Ent3/D/Ent4/F

J'espère que le cahier des charges est clair...
Merci d'avance de votre aide,
Richard.



Bonsoir,

Peut être que la formule suivante peut convenir, formule à placer en
cellule E1 puis à recopier vers le bas.
=CONCATENER(A$1;"/";A2;"/";B$1;"/";B2;"/";C$1;"/";C2;"/";D$1;"/";D2)

Cordialement;

new1






Avatar
isabelle
bonjour Richard,

une function perso ferait-elle l'affaire ?

Function mfp(plage As Range, ligne As Integer, colonne As Integer) As String
For i = colonne To plage.Columns.Count
mfp = mfp & plage.Rows(1).Columns(i) & "/" &
plage.Rows(ligne).Columns(i) & "/"
Next
mfp = Left(mfp, Len(mfp) - 1)
End Function

dans une cellule ----> =mfp(A1:D4;2;2)

isabelle

Richard_35 a écrit :
Bonsoir new1,

Merci de ta réponse mais c'est, justement, ce que je veux éviter de faire !
C'était juste un exemple. J'ai beaucoup de colonnes à concaténer, il me faut
donc un bout de code VB afin d'indiquer une plage à traiter.

Merci d'avance de l'aide de tous les spécialistes VB,
Richard.

"new1@[no/spam]realce.net" a écrit :


On 15 sep, 18:40, Richard_35
wrote:

Bonjour à tous,

Je souhaiterais obtenir le code nécessaire afin de concaténer, dans une
cellule particulière, le contenu d'un ensemble de cellules de la même ligne
et le contenu de l'entête de colonne correspondant.

Il faudrait que je puisse indiquer facilement la cellule réceptrice ainsi
que la plage de cellules concernée.

Exemple de fichier Excel à traiter :
A B C D E
1 Ent1 Ent2 Ent3 Ent4
2 X Y Z T
3 A Z E R
4 Q S D F

J'indique E2 ainsi que B2/D4, et j'obtiens :
A B C D E
1 Ent1 Ent2 Ent3 Ent4
2 X Y Z T Ent2/Y/Ent3/Z/Ent4/T
3 A Z E R Ent2/Z/Ent3/E/Ent4/R
4 Q S D F Ent2/S/Ent3/D/Ent4/F

J'espère que le cahier des charges est clair...
Merci d'avance de votre aide,
Richard.



Bonsoir,

Peut être que la formule suivante peut convenir, formule à placer en
cellule E1 puis à recopier vers le bas.
=CONCATENER(A$1;"/";A2;"/";B$1;"/";B2;"/";C$1;"/";C2;"/";D$1;"/";D2)

Cordialement;

new1






Avatar
isabelle
tu pourrais aussi mettre la formule suivante en cellule E2
=mfp($A$1:$D$4;LIGNE();2)
et recopier vers le bas,

isabelle

Richard_35 a écrit :
Bonsoir new1,

Merci de ta réponse mais c'est, justement, ce que je veux éviter de faire !
C'était juste un exemple. J'ai beaucoup de colonnes à concaténer, il me faut
donc un bout de code VB afin d'indiquer une plage à traiter.

Merci d'avance de l'aide de tous les spécialistes VB,
Richard.

"new1@[no/spam]realce.net" a écrit :


On 15 sep, 18:40, Richard_35
wrote:

Bonjour à tous,

Je souhaiterais obtenir le code nécessaire afin de concaténer, dans une
cellule particulière, le contenu d'un ensemble de cellules de la même ligne
et le contenu de l'entête de colonne correspondant.

Il faudrait que je puisse indiquer facilement la cellule réceptrice ainsi
que la plage de cellules concernée.

Exemple de fichier Excel à traiter :
A B C D E
1 Ent1 Ent2 Ent3 Ent4
2 X Y Z T
3 A Z E R
4 Q S D F

J'indique E2 ainsi que B2/D4, et j'obtiens :
A B C D E
1 Ent1 Ent2 Ent3 Ent4
2 X Y Z T Ent2/Y/Ent3/Z/Ent4/T
3 A Z E R Ent2/Z/Ent3/E/Ent4/R
4 Q S D F Ent2/S/Ent3/D/Ent4/F

J'espère que le cahier des charges est clair...
Merci d'avance de votre aide,
Richard.



Bonsoir,

Peut être que la formule suivante peut convenir, formule à placer en
cellule E1 puis à recopier vers le bas.
=CONCATENER(A$1;"/";A2;"/";B$1;"/";B2;"/";C$1;"/";C2;"/";D$1;"/";D2)

Cordialement;

new1






Avatar
Richard_35
Bonjour Isabelle,

Merci de tes 3 propositions.

J'ai essayé la 3ème, mais, en cellule E2, Excel m'affiche #NOM. Voici le
lien pour le fichier de test : http://cjoint.com/?jqkkAhGLJ2 (si tu veux bien
y jeter un coup d'oeil).
J'ai oublié de dire que je suis en Excel 2003.

Merci d'avance de ton aide,
Richard.

"isabelle" a écrit :

tu pourrais aussi mettre la formule suivante en cellule E2
=mfp($A$1:$D$4;LIGNE();2)
et recopier vers le bas,

isabelle

Richard_35 a écrit :
> Bonsoir new1,
>
> Merci de ta réponse mais c'est, justement, ce que je veux éviter de faire !
> C'était juste un exemple. J'ai beaucoup de colonnes à concaténer, il me faut
> donc un bout de code VB afin d'indiquer une plage à traiter.
>
> Merci d'avance de l'aide de tous les spécialistes VB,
> Richard.
>
> "new1@[no/spam]realce.net" a écrit :
>
>
>> On 15 sep, 18:40, Richard_35
>> wrote:
>>
>>> Bonjour à tous,
>>>
>>> Je souhaiterais obtenir le code nécessaire afin de concaténer, dans une
>>> cellule particulière, le contenu d'un ensemble de cellules de la même ligne
>>> et le contenu de l'entête de colonne correspondant.
>>>
>>> Il faudrait que je puisse indiquer facilement la cellule réceptrice ainsi
>>> que la plage de cellules concernée.
>>>
>>> Exemple de fichier Excel à traiter :
>>> A B C D E
>>> 1 Ent1 Ent2 Ent3 Ent4
>>> 2 X Y Z T
>>> 3 A Z E R
>>> 4 Q S D F
>>>
>>> J'indique E2 ainsi que B2/D4, et j'obtiens :
>>> A B C D E
>>> 1 Ent1 Ent2 Ent3 Ent4
>>> 2 X Y Z T Ent2/Y/Ent3/Z/Ent4/T
>>> 3 A Z E R Ent2/Z/Ent3/E/Ent4/R
>>> 4 Q S D F Ent2/S/Ent3/D/Ent4/F
>>>
>>> J'espère que le cahier des charges est clair...
>>> Merci d'avance de votre aide,
>>> Richard.
>>>
>> Bonsoir,
>>
>> Peut être que la formule suivante peut convenir, formule à placer en
>> cellule E1 puis à recopier vers le bas.
>> =CONCATENER(A$1;"/";A2;"/";B$1;"/";B2;"/";C$1;"/";C2;"/";D$1;"/";D2)
>>
>> Cordialement;
>>
>> new1
>>
>>



Avatar
isabelle
bonjour Richard,

revoici le fichier : http://cjoint.com/?jqohpV7Ja3

il fallait aussi copier la fonction personnalisé suivante dans le
module1 du VBAproject de ce classeur

Function mfp(plage As Range, ligne As Integer, colonne As Integer) As
String
For i = colonne To plage.Columns.Count
mfp = mfp & plage.Rows(1).Columns(i) & "/" &
plage.Rows(ligne).Columns(i) & "/"
Next
mfp = Left(mfp, Len(mfp) - 1)
End Function

isabelle

Richard_35 a écrit :
Bonjour Isabelle,

Merci de tes 3 propositions.

J'ai essayé la 3ème, mais, en cellule E2, Excel m'affiche #NOM. Voici le
lien pour le fichier de test : http://cjoint.com/?jqkkAhGLJ2 (si tu veux bien
y jeter un coup d'oeil).
J'ai oublié de dire que je suis en Excel 2003.

Merci d'avance de ton aide,
Richard.

"isabelle" a écrit :


tu pourrais aussi mettre la formule suivante en cellule E2
=mfp($A$1:$D$4;LIGNE();2)
et recopier vers le bas,

isabelle

Richard_35 a écrit :

Bonsoir new1,

Merci de ta réponse mais c'est, justement, ce que je veux éviter de faire !
C'était juste un exemple. J'ai beaucoup de colonnes à concaténer, il me faut
donc un bout de code VB afin d'indiquer une plage à traiter.

Merci d'avance de l'aide de tous les spécialistes VB,
Richard.

"new1@[no/spam]realce.net" a écrit :



On 15 sep, 18:40, Richard_35
wrote:


Bonjour à tous,

Je souhaiterais obtenir le code nécessaire afin de concaténer, dans une
cellule particulière, le contenu d'un ensemble de cellules de la même ligne
et le contenu de l'entête de colonne correspondant.

Il faudrait que je puisse indiquer facilement la cellule réceptrice ainsi
que la plage de cellules concernée.

Exemple de fichier Excel à traiter :
A B C D E
1 Ent1 Ent2 Ent3 Ent4
2 X Y Z T
3 A Z E R
4 Q S D F

J'indique E2 ainsi que B2/D4, et j'obtiens :
A B C D E
1 Ent1 Ent2 Ent3 Ent4
2 X Y Z T Ent2/Y/Ent3/Z/Ent4/T
3 A Z E R Ent2/Z/Ent3/E/Ent4/R
4 Q S D F Ent2/S/Ent3/D/Ent4/F

J'espère que le cahier des charges est clair...
Merci d'avance de votre aide,
Richard.




Bonsoir,

Peut être que la formule suivante peut convenir, formule à placer en
cellule E1 puis à recopier vers le bas.
=CONCATENER(A$1;"/";A2;"/";B$1;"/";B2;"/";C$1;"/";C2;"/";D$1;"/";D2)

Cordialement;

new1











Avatar
Richard_35
Re-bonjour Isabelle,

Je m'en suis sorti en trifouillant le code...
Merci encore de ta précieuse aide.

Richard.

"isabelle" a écrit :

bonjour Richard,

revoici le fichier : http://cjoint.com/?jqohpV7Ja3

il fallait aussi copier la fonction personnalisé suivante dans le
module1 du VBAproject de ce classeur

Function mfp(plage As Range, ligne As Integer, colonne As Integer) As
String
For i = colonne To plage.Columns.Count
mfp = mfp & plage.Rows(1).Columns(i) & "/" &
plage.Rows(ligne).Columns(i) & "/"
Next
mfp = Left(mfp, Len(mfp) - 1)
End Function

isabelle

Richard_35 a écrit :
> Bonjour Isabelle,
>
> Merci de tes 3 propositions.
>
> J'ai essayé la 3ème, mais, en cellule E2, Excel m'affiche #NOM. Voici le
> lien pour le fichier de test : http://cjoint.com/?jqkkAhGLJ2 (si tu veux bien
> y jeter un coup d'oeil).
> J'ai oublié de dire que je suis en Excel 2003.
>
> Merci d'avance de ton aide,
> Richard.
>
> "isabelle" a écrit :
>
>
>> tu pourrais aussi mettre la formule suivante en cellule E2
>> =mfp($A$1:$D$4;LIGNE();2)
>> et recopier vers le bas,
>>
>> isabelle
>>
>> Richard_35 a écrit :
>>
>>> Bonsoir new1,
>>>
>>> Merci de ta réponse mais c'est, justement, ce que je veux éviter de faire !
>>> C'était juste un exemple. J'ai beaucoup de colonnes à concaténer, il me faut
>>> donc un bout de code VB afin d'indiquer une plage à traiter.
>>>
>>> Merci d'avance de l'aide de tous les spécialistes VB,
>>> Richard.
>>>
>>> "new1@[no/spam]realce.net" a écrit :
>>>
>>>
>>>
>>>> On 15 sep, 18:40, Richard_35
>>>> wrote:
>>>>
>>>>
>>>>> Bonjour à tous,
>>>>>
>>>>> Je souhaiterais obtenir le code nécessaire afin de concaténer, dans une
>>>>> cellule particulière, le contenu d'un ensemble de cellules de la même ligne
>>>>> et le contenu de l'entête de colonne correspondant.
>>>>>
>>>>> Il faudrait que je puisse indiquer facilement la cellule réceptrice ainsi
>>>>> que la plage de cellules concernée.
>>>>>
>>>>> Exemple de fichier Excel à traiter :
>>>>> A B C D E
>>>>> 1 Ent1 Ent2 Ent3 Ent4
>>>>> 2 X Y Z T
>>>>> 3 A Z E R
>>>>> 4 Q S D F
>>>>>
>>>>> J'indique E2 ainsi que B2/D4, et j'obtiens :
>>>>> A B C D E
>>>>> 1 Ent1 Ent2 Ent3 Ent4
>>>>> 2 X Y Z T Ent2/Y/Ent3/Z/Ent4/T
>>>>> 3 A Z E R Ent2/Z/Ent3/E/Ent4/R
>>>>> 4 Q S D F Ent2/S/Ent3/D/Ent4/F
>>>>>
>>>>> J'espère que le cahier des charges est clair...
>>>>> Merci d'avance de votre aide,
>>>>> Richard.
>>>>>
>>>>>
>>>> Bonsoir,
>>>>
>>>> Peut être que la formule suivante peut convenir, formule à placer en
>>>> cellule E1 puis à recopier vers le bas.
>>>> =CONCATENER(A$1;"/";A2;"/";B$1;"/";B2;"/";C$1;"/";C2;"/";D$1;"/";D2)
>>>>
>>>> Cordialement;
>>>>
>>>> new1
>>>>
>>>>
>>>>