Comment comparer les formules de 2 classeur différents ?
6 réponses
FPinton
Bonjour à tous !
Est-il possible, de façon simple, de comparrer les formules de 2 classeurs
différents ?
Comparrer en fait les formules d'un ClasseurA-feuilleA avec celles d'un
ClasseurB-feuilleA et ressortir les emplacements qui diffèrent. Je travaille
depuis 1 moi sur 1 classeur qui normalement était synchronisé entre 2
emplacements différent et je viens de m'appercevoir que la synchronisation
ne fonctionne plus.
Merci de votre aide si vous avez une idée...sinon, j'ai plus qu'a me
coltiner la comparaison de chaque cellule une à une GRrrr... ! J'suis pas
rendu :(
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FFO
Salut à toi
Mets ce bout de code dans une macro :
For Each c In Selection If c.Formula <> Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula Then c.Interior.ColorIndex = 6 End If Next
Puis sélectionnes toutes tes cellules à comparer dans la FeuilA de ton ClasseurA et exécutes la macro
Toutes celles différentes seront colorées en jaune
Adaptes :
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range
du nom exacte de ton classeurB et de sa feuille
Fais des essais et dis moi !!!!!
Salut à toi
Mets ce bout de code dans une macro :
For Each c In Selection
If c.Formula <>
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula Then
c.Interior.ColorIndex = 6
End If
Next
Puis sélectionnes toutes tes cellules à comparer dans la FeuilA de ton
ClasseurA et exécutes la macro
Toutes celles différentes seront colorées en jaune
For Each c In Selection If c.Formula <> Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula Then c.Interior.ColorIndex = 6 End If Next
Puis sélectionnes toutes tes cellules à comparer dans la FeuilA de ton ClasseurA et exécutes la macro
Toutes celles différentes seront colorées en jaune
Adaptes :
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range
du nom exacte de ton classeurB et de sa feuille
Fais des essais et dis moi !!!!!
FPinton
Merci FFO de ton aide. J'ai testé ton code, il fonctionne et m'indique bien des cellules dont la formule est différente, mais il met aussi en jaune les cellules dont les valeurs retournée par les formules sont différentes.Je souhaiterais trouver seulement les formules différentes et pas les résultat différents de toutes les formules. Ton code peut il être retouché en ce sens ?
"FFO" a écrit dans le message de news:
Salut à toi
Mets ce bout de code dans une macro :
For Each c In Selection If c.Formula <> Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula Then c.Interior.ColorIndex = 6 End If Next
Puis sélectionnes toutes tes cellules à comparer dans la FeuilA de ton ClasseurA et exécutes la macro
Toutes celles différentes seront colorées en jaune
Adaptes :
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range
du nom exacte de ton classeurB et de sa feuille
Fais des essais et dis moi !!!!!
Merci FFO de ton aide.
J'ai testé ton code, il fonctionne et m'indique bien des cellules dont la
formule est différente, mais il met aussi en jaune les cellules dont les
valeurs retournée par les formules sont différentes.Je souhaiterais trouver
seulement les formules différentes et pas les résultat différents de toutes
les formules.
Ton code peut il être retouché en ce sens ?
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
620B6A2A-C9A6-497B-BA31-536227D248E5@microsoft.com...
Salut à toi
Mets ce bout de code dans une macro :
For Each c In Selection
If c.Formula <>
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula Then
c.Interior.ColorIndex = 6
End If
Next
Puis sélectionnes toutes tes cellules à comparer dans la FeuilA de ton
ClasseurA et exécutes la macro
Toutes celles différentes seront colorées en jaune
Merci FFO de ton aide. J'ai testé ton code, il fonctionne et m'indique bien des cellules dont la formule est différente, mais il met aussi en jaune les cellules dont les valeurs retournée par les formules sont différentes.Je souhaiterais trouver seulement les formules différentes et pas les résultat différents de toutes les formules. Ton code peut il être retouché en ce sens ?
"FFO" a écrit dans le message de news:
Salut à toi
Mets ce bout de code dans une macro :
For Each c In Selection If c.Formula <> Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula Then c.Interior.ColorIndex = 6 End If Next
Puis sélectionnes toutes tes cellules à comparer dans la FeuilA de ton ClasseurA et exécutes la macro
Toutes celles différentes seront colorées en jaune
Adaptes :
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range
du nom exacte de ton classeurB et de sa feuille
Fais des essais et dis moi !!!!!
FFO
Rebonjour à toi
Je n'ai pas ce phénomème J'ai testé avec des valeurs retournées par les formules différentes seules les cellules ayant une formule divergente et non son résultat sont colorées en jaune
Par contre si des cellules n'ont pas de formule mais une données différentes elles sont aussi colorées
Je te propose donc pour y remédier le code modifié ainsi :
For Each c In Selection If c.Formula Like "=*" And c.Formula <> Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula Then c.Interior.ColorIndex = 6 End If Next
Fais des essais et dis moi !!!!!
Rebonjour à toi
Je n'ai pas ce phénomème
J'ai testé avec des valeurs retournées par les formules différentes seules
les cellules ayant une formule divergente et non son résultat sont colorées
en jaune
Par contre si des cellules n'ont pas de formule mais une données différentes
elles sont aussi colorées
Je te propose donc pour y remédier le code modifié ainsi :
For Each c In Selection
If c.Formula Like "=*" And c.Formula <>
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula Then
c.Interior.ColorIndex = 6
End If
Next
Je n'ai pas ce phénomème J'ai testé avec des valeurs retournées par les formules différentes seules les cellules ayant une formule divergente et non son résultat sont colorées en jaune
Par contre si des cellules n'ont pas de formule mais une données différentes elles sont aussi colorées
Je te propose donc pour y remédier le code modifié ainsi :
For Each c In Selection If c.Formula Like "=*" And c.Formula <> Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula Then c.Interior.ColorIndex = 6 End If Next
Fais des essais et dis moi !!!!!
FPinton
Tu as raison, sur ta 1ere version, le résultat de la formule ne changeait rien à la reconnaissance des cellules. Ta modif fonctionne de manière plus sélective, reste que les formules présentent dans une feuille et pas encore dans l'autre ne sont pas reconnues cette foi. Mais ça ma déjà permis de visualiser une grosse partie des formules que je dois synchroniser. Encore merci de ton aide
FFO" a écrit dans le message de news:
Rebonjour à toi
Je n'ai pas ce phénomème J'ai testé avec des valeurs retournées par les formules différentes seules les cellules ayant une formule divergente et non son résultat sont colorées en jaune
Par contre si des cellules n'ont pas de formule mais une données différentes elles sont aussi colorées
Je te propose donc pour y remédier le code modifié ainsi :
For Each c In Selection If c.Formula Like "=*" And c.Formula <> Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula Then c.Interior.ColorIndex = 6 End If Next
Fais des essais et dis moi !!!!!
Tu as raison, sur ta 1ere version, le résultat de la formule ne changeait
rien à la reconnaissance des cellules.
Ta modif fonctionne de manière plus sélective, reste que les formules
présentent dans une feuille et pas encore dans l'autre ne sont pas reconnues
cette foi. Mais ça ma déjà permis de visualiser une grosse partie des
formules que je dois synchroniser.
Encore merci de ton aide
FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
33907820-4507-4DEB-840C-BAEB0F8CB9D5@microsoft.com...
Rebonjour à toi
Je n'ai pas ce phénomème
J'ai testé avec des valeurs retournées par les formules différentes seules
les cellules ayant une formule divergente et non son résultat sont
colorées
en jaune
Par contre si des cellules n'ont pas de formule mais une données
différentes
elles sont aussi colorées
Je te propose donc pour y remédier le code modifié ainsi :
For Each c In Selection
If c.Formula Like "=*" And c.Formula <>
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula Then
c.Interior.ColorIndex = 6
End If
Next
Tu as raison, sur ta 1ere version, le résultat de la formule ne changeait rien à la reconnaissance des cellules. Ta modif fonctionne de manière plus sélective, reste que les formules présentent dans une feuille et pas encore dans l'autre ne sont pas reconnues cette foi. Mais ça ma déjà permis de visualiser une grosse partie des formules que je dois synchroniser. Encore merci de ton aide
FFO" a écrit dans le message de news:
Rebonjour à toi
Je n'ai pas ce phénomème J'ai testé avec des valeurs retournées par les formules différentes seules les cellules ayant une formule divergente et non son résultat sont colorées en jaune
Par contre si des cellules n'ont pas de formule mais une données différentes elles sont aussi colorées
Je te propose donc pour y remédier le code modifié ainsi :
For Each c In Selection If c.Formula Like "=*" And c.Formula <> Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula Then c.Interior.ColorIndex = 6 End If Next
Fais des essais et dis moi !!!!!
FFO
Rebonjour à toi
Heureux de t'avoir satisfait
Pour exclure les cellules non encore présentes dans la feuilA ClasseurB tu peux rajouter ceci : Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> ""
dans la ligne : If c.Formula Like "=*" And c.Formula <> Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula And Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> "" Then
ce qui donne :
For Each c In Selection If c.Formula Like "=*" And c.Formula <> Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula And Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> "" Then c.Interior.ColorIndex = 6 End If Next
Je n'ai pas testé mais celà doit fonctionner avec ta dernière contrainte
Donnes moi des nouvelles !!!!!
Rebonjour à toi
Heureux de t'avoir satisfait
Pour exclure les cellules non encore présentes dans la feuilA ClasseurB tu
peux rajouter ceci :
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> ""
dans la ligne :
If c.Formula Like "=*" And c.Formula <>
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula And
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> "" Then
ce qui donne :
For Each c In Selection
If c.Formula Like "=*" And c.Formula <>
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula And
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> "" Then
c.Interior.ColorIndex = 6
End If
Next
Je n'ai pas testé mais celà doit fonctionner avec ta dernière contrainte
Pour exclure les cellules non encore présentes dans la feuilA ClasseurB tu peux rajouter ceci : Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> ""
dans la ligne : If c.Formula Like "=*" And c.Formula <> Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula And Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> "" Then
ce qui donne :
For Each c In Selection If c.Formula Like "=*" And c.Formula <> Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula And Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> "" Then c.Interior.ColorIndex = 6 End If Next
Je n'ai pas testé mais celà doit fonctionner avec ta dernière contrainte
Donnes moi des nouvelles !!!!!
FPinton
Merci FFO....Tu m'as sorti d'une belle panade. Grace à ton code, j'ai réussi à tout remettre comme il faut, en peut de temps.
Encore merci pour ton aide !
"FFO" a écrit dans le message de news:
Rebonjour à toi
Heureux de t'avoir satisfait
Pour exclure les cellules non encore présentes dans la feuilA ClasseurB tu peux rajouter ceci : Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> ""
dans la ligne : If c.Formula Like "=*" And c.Formula <> Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula And Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> "" Then
ce qui donne :
For Each c In Selection If c.Formula Like "=*" And c.Formula <> Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula And Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> "" Then c.Interior.ColorIndex = 6 End If Next
Je n'ai pas testé mais celà doit fonctionner avec ta dernière contrainte
Donnes moi des nouvelles !!!!!
Merci FFO....Tu m'as sorti d'une belle panade. Grace à ton code, j'ai réussi
à tout remettre comme il faut, en peut de temps.
Encore merci pour ton aide !
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
64C5C25B-DBEC-4478-9EB2-03E7AF16CA27@microsoft.com...
Rebonjour à toi
Heureux de t'avoir satisfait
Pour exclure les cellules non encore présentes dans la feuilA ClasseurB tu
peux rajouter ceci :
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> ""
dans la ligne :
If c.Formula Like "=*" And c.Formula <>
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula And
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> "" Then
ce qui donne :
For Each c In Selection
If c.Formula Like "=*" And c.Formula <>
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula And
Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> "" Then
c.Interior.ColorIndex = 6
End If
Next
Je n'ai pas testé mais celà doit fonctionner avec ta dernière contrainte
Merci FFO....Tu m'as sorti d'une belle panade. Grace à ton code, j'ai réussi à tout remettre comme il faut, en peut de temps.
Encore merci pour ton aide !
"FFO" a écrit dans le message de news:
Rebonjour à toi
Heureux de t'avoir satisfait
Pour exclure les cellules non encore présentes dans la feuilA ClasseurB tu peux rajouter ceci : Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> ""
dans la ligne : If c.Formula Like "=*" And c.Formula <> Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula And Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> "" Then
ce qui donne :
For Each c In Selection If c.Formula Like "=*" And c.Formula <> Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address).Formula And Workbooks("ClasseurB.xls").Sheets("FeuilA").Range(c.Address) <> "" Then c.Interior.ColorIndex = 6 End If Next
Je n'ai pas testé mais celà doit fonctionner avec ta dernière contrainte