Fusion de ligne dans une "cellule"

Bonjour à tous,

Je ne sais si le titre est clair mais je cherche désespérément à fusionner des données sur plusieurs ligne dans une même cellule.

Je dispose d'une liste de propriété (1300) appartenant à différent propriétaires. Chaque ligne correspond à une parcelle avec le nom du propriétaire en face.

Je souhaiterais obtenir un tableau avec pour chaque propriétaires les parcelles dans une même cellule pour faire un publipostage.....

Un aperçu (la première ligne est l'objectif à atteindre) :

https://www.excel-pratique.com/~files/doc/m0Mftexemple.xls

Merci d'avance......

Matthieu

Bonjour à tous,

Résultats en colonne "O"

Sub Concat()
''Macros par Claude Dubois pour "MatthieuD" Excel-Pratique le 7 avril 09
Dim Nb As Long, J As Long, i As Long
Dim Cl As Byte, Bibi As Range, Cel
    Application.ScreenUpdating = False
        Nb = [d65536].End(xlUp).Row
     '*** tri et prépar ****
        Range("a2:i" & Nb).Sort Key1:=Range("d2"), Order1:=xlAscending, Key2:=Range("e2") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom
        Range("o1:p" & Nb).ClearContents
        Range("o1") = "Parcelles"
    For Each Cel In Range("d2:d" & Nb)
        Range("p" & Cel.Row) = Cel & Cel.Offset(0, 1) 'concatène nom + prénom
    Next Cel
      '**************
    For J = 2 To Nb
               Set Bibi = Range("p" & J).Offset(0, -1)
        If Range("p" & J).Offset(1, 0) = Range("p" & J) Then
                i = WorksheetFunction.CountIf(Range("p2:p" & Nb), Range("p" & J)) - 1
            For Cl = 0 To i - 1
                Bibi = Bibi & Range("p" & J).Offset(Cl, -14) & ";"
            Next Cl
                Bibi = Bibi & Range("p" & J).Offset(Cl, -14)
                J = J + i
        Else
                Range("o" & J) = Range("p" & J).Offset(0, -14)
        End If
    Next J
        Range("p1:p" & Nb).ClearContents
End Sub

édit Fichier:https://www.excel-pratique.com/~files/doc/w4ZdUConcat_parcelles2.xls

Bonne journée

Claude.

re,

Je me suis aperçu que certains noms ou prénoms comportaient des espaces "parasites".

Il faut ajouter ces 3 lignes pour les supprimer. (merci félix)

'*** tri et prépar ****

    For Each Cel In Range("d2:e" & Nb)
        Cel.Value = Trim(Cel.Value) 'supprime espaces début et fin
    Next Cel

Fichier:

https://www.excel-pratique.com/~files/doc/Concat_parcelles3.xls

Amicalement

Claude.

Ouassss

C'est super...un grand merci....

Je venais de terminer manuellement cette opération...par des concaténer...mais alors la...

GENIAL...Ca va me resservir très souvent.

Un grand merci.

Impossible pour moi de refaire ce genre de macro....mais je vais garder précieusement cette feuille de calcul.

Vraiment merci.

re,

Des fois que nos messages se soient croisés regarde bien la dernière version

Claude.

re,

Des fois que nos messages se soient croisés regarde bien la dernière version

Claude.

Ok c'est bien noté un grand merci.

Une dernière petite question.

J'ai la même chose à faire avec les surfaces de chaque parcelle (colonne I) par copier coller je devrais y arriver sans gros problème.

Après je doit sommer ces surface par propriétaires (surface total par propriétaire).

Est il possible de faire une somme de "cellule" avec des ; dedans ?

Je pousse pt'être un peu le bouchon la....

Merci encore

Je me permet de mettre un fichier pour exemple :

https://www.excel-pratique.com/~files/doc/rNfSpexemple2.xls

Merci d'avance....

Bonjour,

dans le fichier joint, la somme de chaque propriétaire

Fonction personnalisée :

Function somme2(Cel As Range) As Double
Dim somm As Double, tbl
tbl = Split(Cel.Value, ";")
For i = LBound(tbl) To UBound(tbl)
    somm = Application.Sum(CDbl(tbl(i)), somm)
Next i
somme2 = somm
End Function

Le fichier :

https://www.excel-pratique.com/~files/doc/mathieuD_v1.zip

Bonsoir à tous,

Merci felix pour ce code, je ne l'utiliserais pas ici mais je note .

Tout est regroupé dans la même macro

Fichier:

https://www.excel-pratique.com/~files/doc/Concat_parcelles5.xls

Amicalement

Claude.

Un grand grand merci à vous deux.

J'ai utilisé les deux, tout fonctionne nickel....

Par contre Claude...si c'est pas abusé.....est il possible de rajouter une ligne à la macro afin d'obtenir la même opération pour la colonne section....

A;A;A;4;

Pour avoir un fichier final dans ce genre la :

https://www.excel-pratique.com/~files/doc/btpBKexemple3.xls

Mille merci encore....

Bonjour à tous,

Version 6

https://www.excel-pratique.com/~files/doc/Concat_parcelles6.xls

Suffisait de demander !

Claude.

dorian1 dorian2

Avec beaucoup de retard....MERCI à vous deux felix et Claude pour le temps que vous m'avez accordé !

Cette fonction est magnifique

Un grand merci

Matthieu

Rechercher des sujets similaires à "fusion ligne"