Fusion de deux listes

Adeus33

XLDnaute Occasionnel
Bonjour tous le monde.

Voila j'ai deux listes que j'aimerai pourvoir fusionner, les deux listes ont une colonne commune (le nom de la société).

j'aimerai que cela me recopie toutes les informations contenu dans les onglets liste1 et liste2 dans l'onglet synthèse en fonction du nom de la société et cela quelque soit le nombre de colonne qui caractèrise la société (je dois pouvoir en rajouter).

Je sais pas si j'ai été assez clair.
Je peux retenter une explication si le besoin s'en fait sentir

Je joins un exemple.

[file name=FusionDeuxlistes.zip size=4109]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/FusionDeuxlistes.zip[/file]

Merci d'avance

Adeus33


Edit1: je souhaiterai pouvoir réaliser cette manip par macro.
Si un nom se trouve dans une liste seulement, il faut quand meme le prendre en compte.

Message édité par: adeus33, à: 05/06/2006 14:50
 

Pièces jointes

  • FusionDeuxlistes.zip
    4 KB · Affichages: 14

SergiO

XLDnaute Accro
Re:Fusion de deux list (personne ne veut me répond

Bonjour adeus33,

Pour te rassurer, je sais le faire par macro Excel 4.0 mais pas encore en VBA (je m'y mets doucement :whistle: ) donc les experts du VBA peuvent te faire assez rapidement.

@+
 

Hervé

XLDnaute Barbatruc
Re:Fusion de deux list (personne ne veut me répond

BOnjour adeus, sergio

Une proposition en piece jointe.

Merci de ne pas me demander de commenter ce code :)



Sub Bouton1_QuandClic()
Dim tablo1, tablo2, tabloS(1 To 2), tablores()
Dim present As Boolean, vide As Boolean
Dim n As Byte, i As Byte, j As Byte, k As Byte, l As Byte, m As Byte
Dim x As Byte

tablo1 = Sheets('liste1').Range('a1').CurrentRegion
tablo2 = Sheets('liste2').Range('a1').CurrentRegion
tabloS(1) = tablo1
tabloS(2) = tablo2

n =
UBound(tablo1, 2) + UBound(tablo2, 2)
vide =
True

For i = 1 To 2
       
For j = 2 To UBound(tabloS(i))
                present =
False
               
If vide = True Then
                       
ReDim Preserve tablores(1 To n, 1 To 1)
                       
For k = 1 To UBound(tabloS(i), 2)
                                tablores(k, 1) = tabloS(i)(j, k)
                       
Next k
                        vide =
False
               
Else
                       
For k = 1 To UBound(tablores, 2)
                               
If tablores(1, k) = tabloS(i)(j, 1) Then
                                        present =
True
                                       
For l = 1 To UBound(tablores, 1)
                                               
If tablores(l, k) = '' Then Exit For
                                       
Next l
                                       
For m = 2 To UBound(tabloS(i), 2)
                                                tablores(m + l - 2, k) = tabloS(i)(j, m)
                                       
Next m
                               
End If
                       
Next k
                       
If Not present Then
                                x =
UBound(tablores, 2) + 1
                               
ReDim Preserve tablores(1 To n, 1 To x)
                               
For k = 1 To UBound(tabloS(i), 2)
                                        tablores(k, x) = tabloS(i)(j, k)
                               
Next k
                       
End If
               
End If
       
Next j
Next i

Sheets('synthese').Range('a1').Resize(UBound(tablores, 2),
UBound(tablores, 1)) = Application.Transpose(tablores)
End Sub
[file name=FusionDeuxlistes_20060607172257.zip size=12669]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/FusionDeuxlistes_20060607172257.zip[/file]
 

Pièces jointes

  • FusionDeuxlistes_20060607172257.zip
    12.4 KB · Affichages: 30

Adeus33

XLDnaute Occasionnel
Re:Fusion de deux list (personne ne veut me répond

Tous d'abord merci Hervé et SerGio de m'avoir répondu.

Hervé ton code est super bien et comme tu dois t'en douté je ne comprend pas grand chose.

Par contre Peut on rajouter les titres des colonnes en haut et mettre les informations dans les bonnes colonnes (et laisser les cellules vides si il n'y a rien a mettre dedans: tu peux voir dans l'exemple que tu m'as passé que lorsque tu lance la macro les informations des 3 dernières lignes ne sont pas placé au bon endroit)

En tous cas merci mille fois.

Et j'espère qu'un jour moi je saurais faire une macro comme celle la.

Adeus33
 

Discussions similaires

Statistiques des forums

Discussions
312 595
Messages
2 090 102
Membres
104 377
dernier inscrit
renaudchristophe1971@gmai