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
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)
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
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.
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...
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
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.
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
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
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 & "" & i).Interior.ColorIndex = 46
End If
Next i
End Sub