Comparer des tableaux dans 2 fichiers
Bonjour,
J'aimerai pouvoir comparer 2 fichiers comportant un tableau identique pour la forme.
Le premier fichier concerne les chiffres des 2 premières
semaines de janvier (tableau A on va dire) , le second fichier les 3 premières semaines de janvier (tableau B).
Le tableau des 3 premières semaines de janvier doit comporter uniquement des chiffres supérieurs ou égales à celui de l'autre fichier donc. Comme j'ai de gros tableaux à comparer j'aimerai pouvoir automatiser cette comparaison pour gagner du temps. J'aimerai que les cellules des chiffres qui ne sont pas correctes (inférieurs à ceux du tableau A) soient mis en évidence par exemple en mettant une couleur de remplissage rouge.
J'ai beau faire des recherches sur internet et débuter à m'intéresser au VBA et aux macros. Je ne trouve pas exactement ce que je voudrai faire.
Précisons que j'ai réalisé ces 2 fichiers exemples joints avec Excel gratuit en ligne mais qu'au travail j'ai Excel 2003 (je voudrai donc quelque chose utilisable sur Excel 2003).
Merci d'avance pour votre aide précieuse :)
Bonjour et bienvenue sur le forum
Un essai à tester. Te convient-il?
Bye !
Whow ! C'est génial ! Ca fonctionne parfaitement avec l'exemple et ça me convient oui. Grand merci !!! :)
Maintenant il faut que je comprenne comment l'adapter à mes tableaux du boulot. Pour ça il faut que je regarde de chez moi car je ne peux télécharger de fichiers ou en mettre sur clé usb au boulot.
Dans open office je vois ce code :
Rem Attribute VBA_ModuleType=VBAModule
Option VBASupport 1
Option Explicit
Dim w As Workbook, f1 As Worksheet, f2 As Worksheet
Dim i&, j&, derln&, dercol&, flag&
Sub Verification()
flag = 0
For Each w In Workbooks
If w.Name <> ActiveWorkbook.Name And ActiveSheet.Range("B3") = w.Sheets(1).Range("B3") Then
flag = 1
Exit For
End If
Next w
If flag = 0 Then
MsgBox "Vous devez ouvrir les deux fichiers à comparer.", 16
Exit Sub
End If
Range("A3") = " "
derln = Range("A3").End(xlDown).Row
dercol = Range("A3").End(xlToRight).Column
Range(Cells(4, 1), Cells(derln, dercol)).Font.ColorIndex = 1
Range(Cells(4, 1), Cells(derln, dercol)).Interior.ColorIndex = 15
For i = 4 To derln
For j = 2 To dercol
If Cells(i, j).Value < w.Sheets(1).Cells(i, j).Value Then
Cells(i, j).Interior.ColorIndex = 3
Cells(i, j).Font.ColorIndex = 2
End If
Next j
Next i
Range("A3") = ""
End Sub
Sub ess()
MsgBox ActiveCell.Font.ColorIndex & " - " & ActiveCell.Interior.ColorIndex
End Sub
Si j'essaie de décrypter :
on déclare qu'il y a des tableaux et la délimitation de ces tableaux,
puis on utilise la condition Si...alors...sinon avec mise en forme pour l'intérieur des cellules.
Tout tiens dans le code que j'ai recopié en couleur ocre? Ou il y a d'autres parties de codes ailleurs ?
Tout m'a l'air d'être bien là...?
Bye !
Aussi je suis agréablement surpris d'une chose. J'ai modifié mes tableaux et en bout de ligne mis des TOTAUX et la comparaison fonctionne malgré qu'il y ait une formule SOMME.