Fusion de deux listes

  • Initiateur de la discussion Initiateur de la discussion Adeus33
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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.

@+
 
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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour