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

Concatener des cellules d'une sélection

2 réponses
Avatar
Alex
Bonjour =E0 tous,

Je voulais faire une petite macro permettant de faire une
concatenation automatique de cellules selectionn=E9es, et m'en
explique :

J'ai r=E9cuperer un tres grand tableau fait sous word que j'ai copi=E9
dans excel. Mon probl=E8me =E9tant que les retours =E0 la ligne fait sous
word se traduise sous excel par autant de cellules qu'il y a de retour
de lignes.

Ce nombre de lignes n'etant pas r=E9gulier, je pensais faire une
concatenation par apport =E0 une selection faite manuellement =E0 l'aide
de la souris et d'un clic obtenir la concatenation des cellules
selectionn=E9es, de plus je voulais inserer une cellule vierge au dessus
de ma selection afin d'y mettre le resultat de la concatenation.

Mes probl=E8mes sont les suivants :

1- Mon insertion cellule vers le bas afin d'inscrire le resultat de la
concatenation prend en compte le nombre de cellule que j'ai
selectionn=E9 or je ne voulais qu'une cellule.

2- J'avais proc=E9d=E9 par macro enregistrement automatique de la formule
concatener, mais je ne c'est pas comment faire pour remplacer les
R[1]C,R[2]C,R[3]C par les cellules de ma selection, en sachant que
celle ci change tout le temps, et que de plus, je voulais mettre entre
chaque reference de cellule un retour =E0 la ligne dans la cellule
(Chr(13))

Quelqu'un aurait il la solution =E0 ces probl=E8mes que je ne sais pas
r=E9soudre.
Merci par avance de votre aide.
Alex

2 réponses

Avatar
isabelle
bonjour Alex,

fait le coller de ton tableau sur excel, en mode édition de la cellule.

ou bien en supposant que le résultat soit mit en cellule A1

Sub Macro1()
For Each c In Selection
Range("A1") = Range("A1") & c & " "
Next
End Sub

isabelle

Le 2010-11-17 10:19, Alex a écrit :
Bonjour à tous,

Je voulais faire une petite macro permettant de faire une
concatenation automatique de cellules selectionnées, et m'en
explique :

J'ai récuperer un tres grand tableau fait sous word que j'ai copié
dans excel. Mon problème étant que les retours à la ligne fait sous
word se traduise sous excel par autant de cellules qu'il y a de retour
de lignes.

Ce nombre de lignes n'etant pas régulier, je pensais faire une
concatenation par apport à une selection faite manuellement à l'aide
de la souris et d'un clic obtenir la concatenation des cellules
selectionnées, de plus je voulais inserer une cellule vierge au dessus
de ma selection afin d'y mettre le resultat de la concatenation.

Mes problèmes sont les suivants :

1- Mon insertion cellule vers le bas afin d'inscrire le resultat de la
concatenation prend en compte le nombre de cellule que j'ai
selectionné or je ne voulais qu'une cellule.

2- J'avais procédé par macro enregistrement automatique de la formule
concatener, mais je ne c'est pas comment faire pour remplacer les
R[1]C,R[2]C,R[3]C par les cellules de ma selection, en sachant que
celle ci change tout le temps, et que de plus, je voulais mettre entre
chaque reference de cellule un retour à la ligne dans la cellule
(Chr(13))

Quelqu'un aurait il la solution à ces problèmes que je ne sais pas
résoudre.
Merci par avance de votre aide.
Alex


Avatar
Alex
Bonjour,

Merci Isabelle pour ta réponse. J'ai adapté ta réponse ainsi :

For Each c In Selection
' Ta proposition :
'Range("A1") = Range("A1") & c & " "
' Mon adaptation pour mettre le resultat dans la cellule au au
dessus de la sélection
ActiveCell.Offset(-1, 0) = ActiveCell.Offset(-1, 0).Value & c &
Chr(13)
Next

Par ailleurs j'ai du coup réussi à faire l'insertion en automatique de
la cellule supplémentaire au dessus de la sélection, afin d'y mettre
le résultat :

ActiveCell.Offset(-1, 0).Insert Shift:=xlDown

Encore un grand merci, je coincais sur ce problème et ne trouvais pas
la solution, alors quand j'ai vu ta réponse, je me suis dit mon dieu
que je suis bete ;-)
Alex