mercredi 10 décembre 2008

Excel compare

Entre deux versions de notre logiciel ou à la suite de modifications, nous sommes amenés à vérifier que nous n'avons pas corrompu le fonctionnement du logiciel.
Après les tests tradionnels en court de développement, nous comparons également le résultat de nos rapports. En se fiant au contenus identiques de ces derniers (avant et après modifications), nous avons déjà l'assurance de ne pas avoir casser la vaisselle. En effet, une petite erreur peu prendre des proportions énorments lors du rendu d'un rapport (décalage de ligne, colonne, montant, somme cumulative, etc).

Cependant, il n'est pas toujours facile de comparer le contenu de grands rapports.
Pour ce faire, le contenu du rapport est copier/coller dans une feuille Excel que nous comparons ensuite à une version plus ancienne du rapport (lui aussi copier/coller dans une feuille Excel).
Pour nous aider dans le travail de comparaison, nous utilisons deux méthodes:

  1. Une formule Excel comparant la même cellule dans deux fichiers différents (et indiquant le resultat de la comparaison)
  2. Le logiciel Excel Compare


Logiciel Excel Compare
Voici un logiciel à la fois simple et complet permettant de comparer des feuilles Excel.
Le resultat de la comparaison est évidement rendu dans une nouvelle feuille Excel.
Ce dernier logiciel effectue avec brio la comparison de cellules (ou lignes) fusionnées.

Voir Excel Compare sur le site de Formula Soft.

La formule Excel.
Soit le fichier Excel Before.xls contenant l'ancienne version du rapport.
Soit le fichier Excel After.xls contenant la nouvelle version du rapport.
Le fichier Difference.xls contiendra les formules comparant cellule par cellule le contenue du fichier before.xls avec celui du fichier after.xls.

La formule magique est:
=IF(('C:\temp\[Before.xls]Sheet1'!A1<>'C:\temp\[After.xls]Sheet1'!A1);("Before: '"&'C:\temp\[Before.xls]Sheet1'!A1&"' After: '"&'C:\temp\[After.xls]Sheet1'!A1&"'");"OK")

Dans la formule, les signes $ ont étés éliminés de la référence de cellule (c'est A1 et non $A$1) afin de permettre une copie relative de la formule.
Après avoir copier la formule dans d'autres cellules, nous obtenons alors un pavé mentionnant des "OK" lorsque les cellules sont rigoureusements identiques. Dans le cas contraire, un message explicatif y est affiché.

Aucun commentaire: