[VA-E] trier des données avec macro VBA
bonjour
voilà mon soucis est le suivant :
j'ai deux classeurs Excel contenant chacun 4 colonnes
je dois comparer ses deux classeurs (qui sont dans deux fichiers différents) pour afficher le résultats dans un nouveau classeur.
Ce classeur résultat devant contenir trois feuilles :
une pour les ajouts, une pour les modifications et une une pour les suppression.
chacune de ces trois feuilles de résultats reprenant les 4 colonnes de départ.
tout cela devrait etre lancé dans une macro Excel de façon simple pour l'utilisateur.
En gros j'ai jusqu'à la fin de la semaine.
Voilà maintenant j'ai ça comme script :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| Sub ComparaisonTableau()
Dim RG1 As Range, RG2 As Range
Dim Tblo1, Tblo2, Rg3 As Range
Dim A As Long, B As Integer, C As Long, D As Integer
Set RG1 = Sheets("Feuil1").Range("A1:A10") 'Tabeau 1
Set RG2 = Sheets("Feuil2").Range("A1:A10") 'Tableau 2
Set Rg3 = Sheets("Feuil3").Range("A1") 'Tableau des résultats
If RG1.Rows.Count <> RG2.Rows.Count Then
MsgBox "Le tableau n'a pas le même nombre de lignes"
Exit Sub
End If
If RG1.Columns.Count <> RG2.Columns.Count Then
MsgBox "Le tableau n'a pas le même nombre de colonnes"
Exit Sub
End If
Tblo1 = RG1: Tblo2 = RG2: D = 1
Application.ScreenUpdating = False
For A = 1 To UBound(Tblo1, 1)
For B = 1 To UBound(Tblo1, 2)
If Tblo1(A, B) <> Tblo2(A, B) Then
C = C + 1
Rg3(C, D) = RG1(A, B).Address(0, 0)
Rg3(C, D).Offset(, 1) = Tblo1(A, B)
Rg3(C, D).Offset(, 2) = RG2(A, B).Address(0, 0)
Rg3(C, D).Offset(, 3) = Tblo2(A, B)
End If
Next
Next
Set RG1 = Nothing: Set RG2 = Nothing: Set Rg3 = Nothing
Erase Tblo1: Erase Tblo2
End Sub |
le probleme de celui ci c'est qu'il ne permet de faire des comparaison qu'entre deux feuilles et pas deux classeur et que je ne peut pas lui faire un filtre sur des termes précis, de plus j'aurai souhaité avoir un classeur résultats contenant trois feuilles :
_ une pour les modif
_ une pour les ajouts
_ une pour les supression
conaîtriez vous un script qui puisse me faire (ou qui s'en rapproche) ?
ou éventuellement des astuces pour créer ce script ?
PS : j'ai déjà trouvé des progs qui font à peu pres ça mais ça me donne jamais ce que je veut (Diff Doc, Excel Compare ...)