Regrouper dans une seule cellule diff.cellule

Fermé
furnus - 29 janv. 2010 à 21:48
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 29 janv. 2010 à 23:00
Bonjour,
Je dois souvent rappatrier des textes de cellules séparées dans une seule cellule.
Mais je ne peux utiliser la fonction fusionner sinon les cellules environnantes ne sont plus sur la même ligne.

Les textes que je veux rappatrier doivent êre transférés dans un logiciel. S'ils ne sont pas encodés sous la même ligne, ils nes pourront être exploités.

Merci pour votre aide.


CELLULE 1 BONJOUR
CELLULE 2 TOUT LE MONDE
CELLULE 3 J'ATTENDS AVEC IMPATIENCE LA SOLUTION A MON PROBLEME


Avec la macro, il suffit de se placer sur la cellule qui veut importer les autres, de sélectionner les cellules à copier, et d'utiliser la formule macro.

1 réponse

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
29 janv. 2010 à 23:00
Bonsoir,

Sub concat()
Dim c As Range, s As String
n = Selection.Cells.Count
For Each c In Selection
s = s & " " & c
Next c
s = Replace(Mid(s, 2), " ", " ")
Selection.ClearContents
ActiveCell = s
End Sub

La concatenation est mise dans la cellule active (*), les autres cellules de la sélection sont effacées.
(*) mais elle ne doit pas avoir été sélectionnée 2 fois
- si ton texte est est en A1:A3 et que tu veux le résultat en A1, pas de pb tu sélectionnes de A1 à A3
- si tu veux le résultat en A2, elle doit être active donc sélectionnée en dernier. Donc faire une sélection multiple, sélectioner A1, avec ctrl+clic A3 puis ctrl+clic A2

Je sépare les texte par un espace, et je supprime les doubles espaces s'il y en a.

eric
0