Fusion de ligne Identique

Bonjour,

Mon problème et tout simple (je pense), j'essaye de trouver et comprendre comment cela fonctionne mais n'en ayant jamais fait je struggle alors je viens vers vous :D

Je souhaite fusionner toutes les lignes identique de la colonne ville, afin d'avoir une seule cellule.

11exemple.ods (3.00 Ko)

Merci d'avance pour l'aide ! J'essaye de comprendre comment cela fonctionne, mais je viens de commencer donc ne m'en voulais pas :D

Bonjour,

Une proposition ?

Réalisée avec Power Query, natif sous Excel 2016.

Cdlt

9exemple.xlsx (16.41 Ko)
iso4217

Bonjour Jean-eric,

Merci pour cette proposition,

malheuresement je souhaiterai juste 'fusionner et centrer' les villes. j'ai mis un exemple du résultat attendu dans le fichier :D

J'essaye de m'inspirer de ce tuto : https://www.excel-pratique.com/fr/blog/gerer-doublons-et-lignes-vides pour avancer, car c'est en gros ce que je veux faire, sauf que au lieu de mettre un fond rouge, je veux fusionner et center.

Encore merci

4exemple-1.ods (3.19 Ko)

Bonjour à tous,

tu selectionnes tes "paris" et tu fais fusionner

ou bien un tcd

Crdlmt

Salut,

Bon ca ma tracassé, je me suis donc lever a 3h pour essayer de trouver une solution, et j'ai "réussi" la voila :

Sub Fusionner_doublon()

    choix2 = ""
    choix2 = InputBox("Entrez la lettre de la colonne où les doublons doivent être recherchés :")
    If choix2 = "" Then Exit Sub

    der_ligne = Range(choix2 & Rows.Count).End(xlUp).Row

    Dim tab_cells()
    ReDim tab_cells(der_ligne - 1)
    For ligne = 1 To der_ligne
        tab_cells(ligne - 1) = Range(choix2 & ligne)
    Next

    For ligne = 1 To der_ligne
        contenu = tab_cells(ligne - 1)

        If contenu <> "" Then 'Fusioner
            For i = 1 To der_ligne
                If contenu = tab_cells(i - 1) Then

                        Range(choix2 & ligne, choix2 & i).Select
                        Range(choix2 & ligne, choix2 & i).Merge
                        Range(choix2 & ligne, choix2 & i).VerticalAlignment = xlCenter
                        Application.DisplayAlerts = False
                    Exit For
                End If
            Next
        End If
    Next

End Sub

Je me doute que c'est bien dégueulasse, mais je me suis inspiré du sujet link dans mon message précédant pour en arriver à mon besoin :D si quelqu'un et chaud pour m'aider à optimiser (ou alors me montrer comment faire ne 10* plus simple peut etre) je suis preneur :D

J'essayerai de l’améliorer demain pour pondre un truc propre et le partagé :D (meme is je suis sur ca exciste deja et je perd du temps xD)

Salut TomZzy,

c'est en forgeant que l'on devient forgeron !
Une façon de faire...
Un double-clic sur la feuille démarre la macro...

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Dim iRow%, iUp%, iDown%
'
Cancel = True
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'
iRow = Range("A" & Rows.Count).End(xlUp).Row
With Range("A1:B" & iRow)
    .UnMerge
    .Sort key1:=Range("A2"), order1:=xlAscending, key2:=Range("B2"), order2:=xlAscending, Orientation:=xlTopToBottom, Header:=xlYes
    .Borders.LineStyle = xlContinuous
End With
Columns("A:B").AutoFit
Range("A1:B1").Interior.Color = RGB(215, 215, 215)
iUp = 2
'
Do
    sData = Range("A" & iUp).Value
    iDown = Columns(1).Find(what:=sData, lookat:=xlWhole, LookIn:=xlValues, searchdirection:=xlPrevious).Row
    If iUp < iDown Then
        With Range("A" & iUp & ":A" & iDown)
            .Merge
            .HorizontalAlignment = xlHAlignCenter
            .VerticalAlignment = xlVAlignCenter
        End With
    End If
    iUp = iDown + 1
Loop Until iDown = iRow
'
Application.ScreenUpdating = True
Application.DisplayAlerts = True
'
End Sub


A+

7tomzzy.xlsm (15.07 Ko)

Bonjour,

Pour le fun et se remettre aux MFCs en VBA.

Cdlt.

iso4217

Bonjour,

Deja merci a tous pour votre aide :D

Jean-eric, ce que tu as fait dans ton premier poste m’intéresse bien finalement, cela peut être plus simple pour filtrer par la suite, mais je n'arrive pas a trouver le code que tu as appliqué pour en arrivé a ce résultat. Peux tu me le partager ? ou m'indiquer comment le trouver stp :D merci

PS : Je suis a fond sur le sujet, je viendrais faire une réponse claire et précise de ce que j'ai fait pour en arriver a bout :D

Re,

Les explications pour reproduire la chose.

Cdlt.

9exemple.xlsx (18.56 Ko)

1 - Mettre les donnée sous forme de tableau

2 - Ruban, Données, Récupérer et transformer,A partir d'un tableau ou d'une plage

L'éditeur Power Query est ouvert

3 - Sélectionner la colonne Ville.

Effectuer un tri ascendant (comme sous Excel)

4 - Réaliser la même opération avec la colonne Bureau de vote

5 - Sélectionner de nouveau la colonne Ville

Ruban, Transformer, tableau, Grouper par :

- Ville

- Opération = Somme

- Colonne = Bureau de vote

Le résultat est une erreur (voulue) !

6 - Dans la barre de formule, modifier :

List.Sum([#"Bureau de vote"]) par Text.Combine([#Bureau de vote"],", ",type text)

Attention !

Power Query est sensible à la casse - respecter les minuscules et majuscules

7 - Sélectionner une nouvelle foiz la colonne Ville

Effectuer un tri ascendant

8 - Ruban, Accueil, Fermer et charger..., Fermer et charger dans

Sélectionner Tableau et le choix de la destination

Rechercher des sujets similaires à "fusion ligne identique"