Comparer 2 fichiers

edaunye

XLDnaute Nouveau
bonjour
voici mon problème, toutes les semaines je reçois un fichier excel avec des pourcentages d'avancement sur chaque ligne.
Je cherche une formule qui permettrait de comparer chaque céllule d'une feuille précise du fichier excel de la semaine avec la céllule correspondante dans la même feuille du fichier de la semaine d'avant et dans le cas d'une différence de pourcentage modifier la couleur de fond de la céllule. Les fichiers sont parfaitement identiques. quelqu'un aurait une solution. merci d'avance
 

tototiti2008

XLDnaute Barbatruc
Re : Comparer 2 fichiers

Bonjour edaunye,

la première solution que je vois est basée sur des mises en formes conditionnelles, mais pour être plus précis il faudrait sans doute deux petits bouts de fichiers (<48 Ko, sans données confidentielles)
 

edaunye

XLDnaute Nouveau
Re : Comparer 2 fichiers

voici les fichiers, je voudrais comparer les pourcentages de la colonne H de chaque ligne et s'il y a une différence, changer la couleur de fond de la ligne entière correspondante du dernier fichier (NE33)
merci
 

Pièces jointes

  • NE32.xls
    16 KB · Affichages: 69
  • NE33.xls
    18 KB · Affichages: 56

tototiti2008

XLDnaute Barbatruc
Re : Comparer 2 fichiers

une solution mais j'ai dû passer par une formule qui va chercher les données de l'autre fichier (colonne U)

dis-moi si ça peut correspondre
 

Pièces jointes

  • NE32(1).xls
    19.5 KB · Affichages: 73
  • NE33(1).xls
    18 KB · Affichages: 56

Catrice

XLDnaute Barbatruc
Re : Comparer 2 fichiers

Bonjour,

Ci-joint, une solution sans rajouter de colonne.
Un nom est créé dans la feuille NE32 faisant référence à la feuille NE33 (CTRL+F3 pour voir).
Ensuite ce nom est utilisé dans la MFC car il n'est pas possible de faire un lien direct avec une feuille externe dans une MFC.
 

Pièces jointes

  • Liaison.zip
    6.2 KB · Affichages: 39
  • Liaison.zip
    6.2 KB · Affichages: 39
  • Liaison.zip
    6.2 KB · Affichages: 43

tototiti2008

XLDnaute Barbatruc
Re : Comparer 2 fichiers

Bonjour Catrice,

j'ai essayé de faire la même chose, mais il a refusé chez moi, me mettant le beau message du genre "impossible de faire référence à une autre feuille ou un autre classeur".

qu'est-ce que j'ai fait de faux ? j'ai bien défini dans NE32 un nom faisant référence aux cellules de NE33, mais pas possible de l'intégrer à ma MFC...
 

tototiti2008

XLDnaute Barbatruc
Re : Comparer 2 fichiers

si, bien sûr. en admettant que tes 2 fichiers NE32 et NE33 sont ouverts, code à mettre dans un module de NE32 en activant la feuille PMT D15 de NE32 :

Code:
Sub Differences()
Dim i As Long
    For i = 1 To ActiveSheet.Range("h65536").End(xlUp).Row
        If ActiveSheet.Range("h" & i).Value <> Workbooks("NE33.xls").Worksheets("PMT D15").Range("h" & i).Value Then
            ActiveSheet.Range("h" & i).Interior.ColorIndex = 3
        End If
    Next i
End Sub
 

edaunye

XLDnaute Nouveau
Re : Comparer 2 fichiers

Bonjour,

Ci-joint, une solution sans rajouter de colonne.
Un nom est créé dans la feuille NE32 faisant référence à la feuille NE33 (CTRL+F3 pour voir).
Ensuite ce nom est utilisé dans la MFC car il n'est pas possible de faire un lien direct avec une feuille externe dans une MFC.
bonjour
quels sont les modifs à éffectué sur mes fichiers originaux pour appliquer cette solution, comment modifier la MFC
merci d'avance
 

edaunye

XLDnaute Nouveau
Re : Comparer 2 fichiers

si, bien sûr. en admettant que tes 2 fichiers NE32 et NE33 sont ouverts, code à mettre dans un module de NE32 en activant la feuille PMT D15 de NE32 :

Code:
Sub Differences()
Dim i As Long
    For i = 1 To ActiveSheet.Range("h65536").End(xlUp).Row
        If ActiveSheet.Range("h" & i).Value <> Workbooks("NE33.xls").Worksheets("PMT D15").Range("h" & i).Value Then
            ActiveSheet.Range("h" & i).Interior.ColorIndex = 3
        End If
    Next i
End Sub

merci c'est parfait
 

Catrice

XLDnaute Barbatruc
Re : Comparer 2 fichiers

Bonsoir,

Dans le fichier N32, le nom toto faire référence à :
='[NE33.xls]PMT D15'!$H$1:$H$7

Ensuite la MFC utilise ce nom :
=DECALER(toto;LIGNE()-1;0;1;1)<>H1

On teste la valeur de la meme ligne dans le fichier N33 (matrice toto) avec la cellule active de N32.

Pour que ça fonctionne sur ton fichier, il suffit que le nom toto soit défini sur la bonne plage et que la MFC soit appliquée sur l'ensemble des cellules souhaitées dans N32.

Les formules sont accessibles dans le fichier N32 précédement posté, liaison.zip
 

edaunye

XLDnaute Nouveau
Re : Comparer 2 fichiers

Bonjour, c'est encore moi, je voudrai modifier le code suivant de façon à créer un 3ème fichier contenant seulement les lignes modifiés, merci d'avance

Sub Macro1()
'
' Macro1 Macro

Dim i As Long
Columns("p").Select
Selection.NumberFormat = "0%"
Selection.Font.Bold = True
For i = 1 To ActiveSheet.Range("h65536").End(xlUp).Row
If ActiveSheet.Range("h" & i).Value <> Workbooks("2008SEMAINE36.xls").Worksheets("feuille2").Range("h" & i).Value Then
ActiveSheet.Range("p" & i).Value = (ActiveSheet.Range("h" & i).Value - Workbooks("2008SEMAINE36.xls").Worksheets("feuille2").Range("h" & i).Value) '* 100
ActiveSheet.Range("b" & i & ":p" & i).Interior.ColorIndex = 46
End If
Next i
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 400
Messages
2 088 086
Membres
103 711
dernier inscrit
mindo