Fusion de deux tableaux

Bonsoir,

Je souhaiterais faire fusionner deux tableaux pour en faire un troisième.

J'aimerai que ce troisième tableau soit trié par ordre alphabétique et contienne tous les items des tableaux précédents

Par contre dans ces deux tableaux il n'y a pas forcément les mêmes items.

Admettons que dans le tableau 1 il y a :

Alfred 1

Lola 2

John 4

Sylvie 5

Dans le tableau 2 il y a :

Aerobi 2

Alfred 1

Lucie 1

Daniel 2

Sylvie 4

Dans le troisième j'aimerai avoir :

Aerobi 2

Alfred 3

Daniel 2

John 4

Lucie 1

Lola 2

Sylvie 9

Et j'aimerai que ce tableau se mette à jour automatiquement lorsque je rajoute des lignes dans les autres tableaux.

Merci pour votre aide.

37inventaire.xlsx (29.93 Ko)

Bonjour,

Un exemple à étudier.

Cdlt.

136inventaire.xlsm (45.17 Ko)

Bonjour

Dans l'exemple que tu donnes, ne faut-il pas lire dans le3° tableau : "Alfred 2" au lieu de "Alfred 3" ?

Bye !

C'est bien alfred 2 je me suis trompé !

autant pour moi !


Jean-Eric a écrit :

Bonjour,

Un exemple à étudier.

Cdlt.

Waouuuuuuw !

c'est exactement ce que je voulais ! Merci beaucoup ! ça va déjà bien m'aider.

Par contre, si je rajoute une nouvelle entrée qui n'existe dans aucun des deux tableaux. Est ce que ça met à jour le tableau 3, le trie en ordre alphabétique à nouveau, etc ?

Car j'ai essayé et ça n'a pas marché. Du coup je m'y suis peut être mal pris.

J'ai bêtement écris à la fin du tableau 1 : Ace 1

et dans le tableau 3 ça n'apparait pas.

Bonjour,

Le tri a été ajouté dans le TCD.

Celui-ci est actualisé à l'activation de sa feuille et un message de prévient de son actualisation.

Si pas de message, il faut activer les macros !...

Cdlt.

87inventaire.xlsm (45.54 Ko)

Merci Jean-Eric.

C'est parfait.

C'est exactement ce que je cherchais !

Pourrais tu me dire comment tu as réussi à faire ça s'il te plaît ?

Bonjour à tous

Une variante...

Bye !

59inventaire-v1.xlsm (26.83 Ko)

Bonjour gmb

Ta variante est sympathique !

Mais lors de la fusion, la liste fusionnée n'est pas triée automatiquement.

Il faut le faire à la main, ce n'est pas dérangeant.

Je garde de côté. La solution de Jean-Eric est vraiment parfaite pour ce que je veux faire.

RE,

Les données ont été mises sous de tableaux (dynamiques).

La procédure événementielle [ALT F11 ; voir module Feuil3 (Calculs)] consolide les données des feuilles Inventaire et Restore dans un tableau unique.

Le tableau croisé dynamique est ensuite actualisé et le champ Libellé trié en ordre ascendant.

Quelques explications ci-dessous.

Cdlt.

28inventaire.xlsm (46.07 Ko)
Option Explicit
'Procédure événementielle module Feuil3 (Calculs)
Private Sub Worksheet_Activate()
Dim ws As Worksheet, wsTable As Worksheet
Dim lo As ListObject
Dim rCell As Range
Dim n As Long

    Application.ScreenUpdating = False
    '------------------------------------------------------------------------------
    'RAZ tableau source du tableau croisé dynamique (TCD)
    'Me = feuille active (soit la feuille Calculs)
    Set lo = Me.ListObjects(1)
    With lo
        If Not .DataBodyRange Is Nothing Then .DataBodyRange.Delete
        'Cellule de destination
        Set rCell = .InsertRowRange.Cells(2)
    End With
    '------------------------------------------------------------------------------
    'Mise à jour tableau source du TCD
    'Copie des données Inventaire et Restore dans un tableau unique
    For Each ws In ActiveWorkbook.Worksheets
        If ws.Name <> Me.Name Then
            'Nombre de lignes du tableau
            n = ws.ListObjects(1).ListRows.Count
            ws.ListObjects(1).DataBodyRange.Copy
            rCell.PasteSpecial xlPasteValues
            Application.CutCopyMode = False
            'Ajout origine des données
            rCell.Offset(, -1).Resize(n).Value = ws.Name
            'Prochaine cellule de destination
            Set rCell = lo.HeaderRowRange.Cells(2).Offset(lo.ListRows.Count + 1)
        End If
    Next ws
    '------------------------------------------------------------------------------
    'Mise à jour TCD
    With Me.PivotTables(1)
        'Actualisation
        With .PivotCache
            .MissingItemsLimit = xlMissingItemsNone
            .Refresh
        End With
        'Tri
        .PivotFields("Libellé").AutoSort _
                xlAscending, _
                .PivotFields("Libellé").SourceName
    End With
    '------------------------------------------------------------------------------
    Application.Goto Me.Cells(1)
    '------------------------------------------------------------------------------
    MsgBox "Mise à jour effectuée...", vbInformation, "Calculs"
    '------------------------------------------------------------------------------
    Set rCell = Nothing
    Set lo = Nothing

End Sub
Exia a écrit :

lors de la fusion, la liste fusionnée n'est pas triée automatiquement.

Oh ! Pardon ! j'avais zappé ça !

Voilà :

Bye !

64inventaire-v2.xlsm (27.19 Ko)

Je vais regarder tout ça chez moi tranquillement.

Merci beaucoup !

Rechercher des sujets similaires à "fusion deux tableaux"