Comparer deux tableaux
manautop
Messages postés
152
Statut
Membre
-
manautop Messages postés 152 Statut Membre -
manautop Messages postés 152 Statut Membre -
Bonjour,
j ai un probleme quie je n arrive pas a regler
donc voila j ai deux tableaux un 2008 et un 2009 avec reference, pricx des produits etc,
je voudrais creer un troisieme tableau sur une autre page ( ou pas ) qui alligne les produit en fonction de leur reference cela vous parait il possible
http://www.cijoint.fr/cjlink.php?file=cj200911/cij8GaXZUc.xls
merci d avance
ps : vu que je suis presse je poste d avance lol et je cherche en mm temps une solution
j ai un probleme quie je n arrive pas a regler
donc voila j ai deux tableaux un 2008 et un 2009 avec reference, pricx des produits etc,
je voudrais creer un troisieme tableau sur une autre page ( ou pas ) qui alligne les produit en fonction de leur reference cela vous parait il possible
http://www.cijoint.fr/cjlink.php?file=cj200911/cij8GaXZUc.xls
merci d avance
ps : vu que je suis presse je poste d avance lol et je cherche en mm temps une solution
A voir également:
- Comparer deux tableaux
- Fusionner deux tableaux excel - Guide
- Comment faire deux colonnes sur word - Guide
- Nombre de jours entre deux dates excel - Guide
- Deux ecran pc - Guide
- Tableaux croisés dynamiques - Guide
3 réponses
re coucou
alors j arrive a ca
Sub testcompare()
Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet, i1, i2, i3, k, kk, z
Set ws1 = Worksheets(1)
Set ws2 = Worksheets(2)
Set ws3 = Worksheets(3)
i1 = ws1.Range("A1").End("4").Row
i2 = ws2.Range("A1").End("4").Row
With ws1
For k = 1 To i1
z = .Range("A" & k)
For kk = 1 To i2
If z = ws2.Range("A" & kk) Then
ws3.Range("A" & i3 + 1) = z
ws3.Range("B" & i3 + 1) = .Range("B" & k)
ws3.Range("C" & i3 + 1) = .Range("C" & k)
ws3.Range("D" & i3 + 1) = .Range("D" & k)
ws3.Range("E" & i3 + 1) = .Range("E" & k)
ws3.Range("F" & i3 + 1) = .Range("F" & k)
ws3.Range("G" & i3 + 1) = ws2.Range("B" & kk)
ws3.Range("H" & i3 + 1) = ws2.Range("C" & kk)
ws3.Range("I" & i3 + 1) = ws2.Range("D" & kk)
ws3.Range("J" & i3 + 1) = ws2.Range("E" & kk)
ws3.Range("K" & i3 + 1) = ws2.Range("F" & kk)
i3 = i3 + 1
End If
Next
Next
End With
End Sub
mais le probeme c est que ca me donne que 4 reponses
alors j arrive a ca
Sub testcompare()
Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet, i1, i2, i3, k, kk, z
Set ws1 = Worksheets(1)
Set ws2 = Worksheets(2)
Set ws3 = Worksheets(3)
i1 = ws1.Range("A1").End("4").Row
i2 = ws2.Range("A1").End("4").Row
With ws1
For k = 1 To i1
z = .Range("A" & k)
For kk = 1 To i2
If z = ws2.Range("A" & kk) Then
ws3.Range("A" & i3 + 1) = z
ws3.Range("B" & i3 + 1) = .Range("B" & k)
ws3.Range("C" & i3 + 1) = .Range("C" & k)
ws3.Range("D" & i3 + 1) = .Range("D" & k)
ws3.Range("E" & i3 + 1) = .Range("E" & k)
ws3.Range("F" & i3 + 1) = .Range("F" & k)
ws3.Range("G" & i3 + 1) = ws2.Range("B" & kk)
ws3.Range("H" & i3 + 1) = ws2.Range("C" & kk)
ws3.Range("I" & i3 + 1) = ws2.Range("D" & kk)
ws3.Range("J" & i3 + 1) = ws2.Range("E" & kk)
ws3.Range("K" & i3 + 1) = ws2.Range("F" & kk)
i3 = i3 + 1
End If
Next
Next
End With
End Sub
mais le probeme c est que ca me donne que 4 reponses
alors j ai trouve la solution qui consiste a separer le tout en trois page
page 1 tableau 1
page 2 tableau 2
page 3 tablea qui met sur une seule ligne les caracteristiques d une mm referenece presente en tableau un et deux
mais j ai un probleme pour les reference n existant qu une fois ( soit sur le tableau 1 soit sur le tableau deux) qui n apparaissent pas
mais y aurait il un moyen d accelerer l excution de la macro
Sub testcompare()
Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet, i1, i2, i3, k, kk, z
Set ws1 = Worksheets(1)
Set ws2 = Worksheets(2)
Set ws3 = Worksheets(3)
i1 = ws1.Range("A1").End("4").Row
i2 = ws2.Range("A1").End("4").Row
With ws1
For k = 1 To 2029
z = .Range("A" & k)
For kk = 1 To 2049
If z = ws2.Range("A" & kk) Then
ws3.Range("A" & i3 + 1) = z
ws3.Range("B" & i3 + 1) = .Range("B" & k)
ws3.Range("C" & i3 + 1) = .Range("C" & k)
ws3.Range("D" & i3 + 1) = .Range("D" & k)
ws3.Range("E" & i3 + 1) = .Range("E" & k)
ws3.Range("F" & i3 + 1) = .Range("F" & k)
ws3.Range("G" & i3 + 1) = ws2.Range("B" & kk)
ws3.Range("H" & i3 + 1) = ws2.Range("C" & kk)
ws3.Range("I" & i3 + 1) = ws2.Range("D" & kk)
ws3.Range("J" & i3 + 1) = ws2.Range("E" & kk)
ws3.Range("K" & i3 + 1) = ws2.Range("F" & kk)
i3 = i3 + 1
End If
Next
Next
End With
End Sub
page 1 tableau 1
page 2 tableau 2
page 3 tablea qui met sur une seule ligne les caracteristiques d une mm referenece presente en tableau un et deux
mais j ai un probleme pour les reference n existant qu une fois ( soit sur le tableau 1 soit sur le tableau deux) qui n apparaissent pas
mais y aurait il un moyen d accelerer l excution de la macro
Sub testcompare()
Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet, i1, i2, i3, k, kk, z
Set ws1 = Worksheets(1)
Set ws2 = Worksheets(2)
Set ws3 = Worksheets(3)
i1 = ws1.Range("A1").End("4").Row
i2 = ws2.Range("A1").End("4").Row
With ws1
For k = 1 To 2029
z = .Range("A" & k)
For kk = 1 To 2049
If z = ws2.Range("A" & kk) Then
ws3.Range("A" & i3 + 1) = z
ws3.Range("B" & i3 + 1) = .Range("B" & k)
ws3.Range("C" & i3 + 1) = .Range("C" & k)
ws3.Range("D" & i3 + 1) = .Range("D" & k)
ws3.Range("E" & i3 + 1) = .Range("E" & k)
ws3.Range("F" & i3 + 1) = .Range("F" & k)
ws3.Range("G" & i3 + 1) = ws2.Range("B" & kk)
ws3.Range("H" & i3 + 1) = ws2.Range("C" & kk)
ws3.Range("I" & i3 + 1) = ws2.Range("D" & kk)
ws3.Range("J" & i3 + 1) = ws2.Range("E" & kk)
ws3.Range("K" & i3 + 1) = ws2.Range("F" & kk)
i3 = i3 + 1
End If
Next
Next
End With
End Sub