Concatener des cellules d'une sélection

Le
Alex
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
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
isabelle
Le #22804101
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


Alex
Le #22807531
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
Publicité
Poster une réponse
Anonyme