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 :
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
_ 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 ...)
Partager