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

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
new1
Le #20154311
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
Richard_35
Le #20154551
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



isabelle
Le #20155081
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






isabelle
Le #20155191
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






isabelle
Le #20155181
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






Richard_35
Le #20156181
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
>>
>>



isabelle
Le #20157981
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











Richard_35
Le #20159341
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
>>>>
>>>>
>>>>



Publicité
Poster une réponse
Anonyme