Bonjour,
Dans son message, < Jean-Guy Marcil > écrivait :
In this message, < Jean-Guy Marcil > wrote:
|| I just realized what happened with the SUM vs. SOMME situation. Until
last
|| month, I had an English version of Word 97. So it had never occurred to
me
|| that SUM did not work with Word 97 (French edition) because I had never
|| really used the French version! Those formulas were standardized to their
|| English names with Word 2000.
||
|| So if I use French Word 97 and create a formula like SOMME(AUDESSUS),
then I
|| open this document with Word XP, Word automatically changes the formula
to
|| SUM(AUDESSUS). It is kind of strange that French Word XP will recognize
|| SUM(AUDESSUS) and SUM(ABOVE), but not SOMME.
||
|| So I guess that the answer is: If you want a multi-version/multilingual
|| document containing calculations, do not use formula names!
||
|| I still do not know why a document created under XP and then opened with
97
|| will have its decimal separators (in the field format) changed from
commas
|| to spaces, even though both Word versions are on computers that have the
|| same regional settings, i.e. comma as a decimal separator.
||
|| I guess the answer is: Open and save the document with 97. But I would
like
|| to know why Word changes my number field format....
Looks like I am the only one interested by this thread! So I'll keep talking
to myself, just in case some people were actually interested by this, but
didn't know what to write!
After some more research and trials, I got to the bottom of this, I think.
As I wrote above, I got a handle on the formulas names between versions, it
is better to create and save the basic document with the earliest version,
the other way around does not work for formula names.
Here is an interesting finding :
Create a formula in a calculated form field in French Word 97, such as
=SOMME(AUDESSUS).
Open the document with Word XP (or 2003): XP changes SOMME to SUM and
you get =SUM(AUDESSUS), also, even if you have a formula field, such as
{=SOMME(AUDESSUS)}, XP will also change it to {=SUM(AUDESSUS)} and
everything works as expected, the calculations are executed correctly.
Open the document with Word 2000: 2000 ignores the content of calculated
form fields, so they remain =SOMME(AUDESSUS), and of course since formulas
were standardized to English starting with Word 2000, the result is not
calculated as 2000 does not understand =SOMME(AUDESSUS), so the calculated
form field is left blank. In the same document, if you have a formula field
like {=SOMME(AUDESSUS)}, 2000 changes SOMME to SUM, but it does not change
AUDESSUS, and it does not understand the AUDESSUS like XP does (or 2003 for
that matter). So 2000 generates {=SUM(AUDESSUS)} but it then generates a
syntax error because it cannot make sense of this mixed-language formula.
This is why I like XP better than 2000, maybe it is just me, but I
always find little annoying things like that in 2000.
So, the moral, if you want documents with calculations that are useable with
many Word versions, (in languages other than English, of course), do not use
formula names AND formula parameters such as LEFT, ABOVE, and so on
Finally, I had a problem with the French thousand and decimal separators
(space and comma) that I thought I had solved by creating the document with
the lowest version. A document created with XP and opened with 97 had all of
its commas (decimal separator) replaced by spaces, but the spaces (thousand
separator) were left intact. The problem went away when I created the
document under 97,and then opened it with 2000 or XP.
I even dared to think that my document could also be opened by , let's say
an English version of Word on a computer that had French regional settings.
No, no can do. I made sure that the regional settings were set to French, I
restarted the computer, double-checked if I had the space and comma, and I
did. I then opened my document with English Word 97, and the same thing
happened as when I created the document with XP and opened it with 97. The
commas were replaced by spaces, and spaces (thousand separator) were left
intact... or so I thought. I knew right away that It was thus impossible to
create a document compatible to both French and English version of Word if
it contained calculated formulas and numbers above 999 or with a decimal
separator. Just for the heck of it, I reset the form fields to a choice that
the field property format dropdown list gave me, the same one as in French,
with the spaces and commas, but selected with English Word. The form fields
behaved, but not the calculated one. Intrigued, I continued looking and
realized that under French Word 97, when you use the full number format (#
##0,00), by default, when you enter a number in a number field on the
protected form, Word inserts a non-breaking space between, for example, the
1 and the 4 in 1 489,45. But because I adjusted form fields that were
originally created with French Word 97, but not the formula fields, all
formula fields ( {=PRODUCT(A1;B2) \# "/# ##0,00" } for example) were also
built with non-breaking spaces because they were originally created with
French Word 97. In essence, the formulas were trying to read numbers
formulated with regular spaces (the one I adjusted with English Word 97),
and then apply a non-breaking space (From the format switch applied under
French Word 97) to the result. The result was very unpredictable, to say the
least!
So, the moral of this one... if you must have a single document that has to
be compatible to English and French Word 97, use VBA and userforms to do
calculations in the protected form! I wonder if it is the same with Word
2000 and up? I will soon have from Word 97 to Word 2003 in both English and
French on my machine, I'll check it out then.... if I have the courage or if
I remember!
Phew! Congratulations to anyone who made it this far, sorry for rambling on,
but I figured it might be useful to someone one day!
Cheers!
--
Salut!
_______________________________________
Jean-Guy Marcil - Word MVP
(e-mail address removed)
Word MVP site:
http://www.word.mvps.org