Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

problème de conversion de la formule no.semaine entre excel 2007 -2

9 réponses
Avatar
jean Luc
Bonjour,
Je travaille sous excel 2007 et mes collègues utilisent mes fichiers sous
excel 2003.
Dans mon fichier créé sous 2007 je calcule des jours en utilisant la formule
"no.semaine" mais quand j'ouvre le fichier sous 2003 la formule devient
"weeknum". il suffisait de renommer en "no.semaine" et la macro fonctionnait
depuis deux jours j'ai une erreur de nom qui s'affiche dans la cellule.

Si quelqu'un pouvait me donner une solution je l'en remercie par avance

9 réponses

Avatar
MichDenis
Dans la nouvelle version Excel 2007, il y a 5 nouvelles fonctions et 39 anciennes fonctions
qui appartenaient à la macro complémentaire : Utilitaire d'analyse sont devenus des
fonctions natives d'excel c'est-à-dire que tu n'as plus besoin de la macro complémentaire
pour pouvoir l'utiliser (excel 2007).

Le problème, comment excel arrive à traduire ceci lorsque le fichier passe d'une version à l'autre ?
Je n'ai pas cette nouvelle version sous la main, mais Microsoft a mis à la disposition des
utilisateurs
sur son site un "pack de compatibilité" que tu peux télécharger à cette adresse :

http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID”1B3470-3AE9-4AEE-8F43-C6BB74CD1466



"jean Luc" <jean a écrit dans le message de news:

Bonjour,
Je travaille sous excel 2007 et mes collègues utilisent mes fichiers sous
excel 2003.
Dans mon fichier créé sous 2007 je calcule des jours en utilisant la formule
"no.semaine" mais quand j'ouvre le fichier sous 2003 la formule devient
"weeknum". il suffisait de renommer en "no.semaine" et la macro fonctionnait
depuis deux jours j'ai une erreur de nom qui s'affiche dans la cellule.

Si quelqu'un pouvait me donner une solution je l'en remercie par avance
Avatar
Hans Terkelsen
"jean Luc" <jean wrote in message news:
Bonjour,
Je travaille sous excel 2007 et mes collègues utilisent mes fichiers sous
excel 2003.
Dans mon fichier créé sous 2007 je calcule des jours en utilisant la formule
"no.semaine" mais quand j'ouvre le fichier sous 2003 la formule devient
"weeknum". il suffisait de renommer en "no.semaine" et la macro fonctionnait
depuis deux jours j'ai une erreur de nom qui s'affiche dans la cellule.

Si quelqu'un pouvait me donner une solution je l'en remercie par avance




Jean Luc, ecrit une formule de nombre de semaine européenne dans la cellule.
Par ex. =ENT(MOD(ENT((d+2924)/7)*28;1461)/28+1)

Excel US WEEKNUMs (NO.SEMAINE) sont différent du no. semaine européenne (ISO 8601).
Bien que dans 2007,8,9 ils diffèrent seulement autour du Nouvel An.

Sem. US, américaines, ont une semaine courte, 1. jan au weekend, comme la semaine 1,
et un autre du weekend à 31. déc. comme la semaine 53 ou 54.
P. ex., quand il y a 54 semaines US dans une année,
les deux 1 et 54 sont seulement 1 jour long.

Les semaines ISO sont tous lundi à dimanche, sont numéro 1 à 52 ou 53,
et compté dans l'année contenant au moins 4 des 7 jours.
Jeudi est toujours dans l'année de la semaine.
La semaine 1 peut commencer 29. décembre, la semaine 53 terminer 3. janvier.
4. jan est toujours dans la semaine 1, 28. décembre toujours dans la semaine dernière.
La séquence de no. semaine se répète après 400 années = 20871 semaines.

C'est un problème de calculer la semaine ISO avec fonctions Excel.

Visual Basic a une option dans les fonctions de Datepart ou Format
qui devait donner les semaines européennes, DatePart ("ww"; d; 2; 2), d la date;
mais avec un 'bug' causant assez d'erreurs pour être un ennui parfois.
Une douzaine d'erreurs par siècle, p. ex. lundi 31/12/2007 et dimanche 2/1/2101.
(Surtout lundis, mais un dimanche occasionnel).

Les gens sont étonnés que leur machine fait des erreurs : -)
Donc il y a une petite industrie en fonctions de no. semaine européenne.
Quelques-uns avec beaucoup plus d'erreurs!
Encore une autre contribution:

Le nombre de semaine ISO en Excel:

(1/1/1900-28/12/2104)
=ENT(MOD(ENT((d+2924)/7)*28;1461)/28+1)

(Toutes dates)
=ENT(MOD(MOD(MOD(ENT((d+692501)/7);20871)*28+4383;146096);1461)/28+1)

VBA fonction:
Function WkIso (d) ' ..1/1/100-31/12/9999 grégorien ..
WkIso = (((( d + 692501) 7 Mod 20871) * 28 + 4383) Mod 146096 Mod 1461) 28 + 1
End Function

Expression inverse:
Jeudi, semaine w, année y (..1,100-52,9999..)
d=7*(ENT((ENT((y-1)*365,25)-ENT((y-1)/100)+ENT((y-1)/400)-693592)/7)+w)-2
ou =7*(ENT(DATE(y;1;2)/7)+w)-2

Date no. d est le VB et Excel serial, zéro sur 30/12/1899 date de calendrier.
Fonctions simples et nombres entiers positifs pour la calculation a quelques avantages.
Comme vitesse, possible en les autres applications, ..
J'ai vérifié, crois pas des erreurs, sauf linguistique: -)

Espére que cela soit utile, Hans (DK).

Avatar
FxM
Bonjour Hans,

J'ai vérifié, crois pas des erreurs, sauf linguistique: -)
En comparaison de notre niveau de langue danoise ... aucune !



Espére que cela soit utile, Hans (DK).
Très utile, documenté et bien écrit.



Respect et @+
FxM



"jean Luc" <jean wrote in message news:
Bonjour,
Je travaille sous excel 2007 et mes collègues utilisent mes fichiers sous
excel 2003.
Dans mon fichier créé sous 2007 je calcule des jours en utilisant la formule
"no.semaine" mais quand j'ouvre le fichier sous 2003 la formule devient
"weeknum". il suffisait de renommer en "no.semaine" et la macro fonctionnait
depuis deux jours j'ai une erreur de nom qui s'affiche dans la cellule.

Si quelqu'un pouvait me donner une solution je l'en remercie par avance




Jean Luc, ecrit une formule de nombre de semaine européenne dans la cellule.
Par ex. =ENT(MOD(ENT((d+2924)/7)*28;1461)/28+1)

Excel US WEEKNUMs (NO.SEMAINE) sont différent du no. semaine européenne (ISO 8601).
Bien que dans 2007,8,9 ils diffèrent seulement autour du Nouvel An.

Sem. US, américaines, ont une semaine courte, 1. jan au weekend, comme la semaine 1,
et un autre du weekend à 31. déc. comme la semaine 53 ou 54.
P. ex., quand il y a 54 semaines US dans une année,
les deux 1 et 54 sont seulement 1 jour long.

Les semaines ISO sont tous lundi à dimanche, sont numéro 1 à 52 ou 53,
et compté dans l'année contenant au moins 4 des 7 jours.
Jeudi est toujours dans l'année de la semaine.
La semaine 1 peut commencer 29. décembre, la semaine 53 terminer 3. janvier.
4. jan est toujours dans la semaine 1, 28. décembre toujours dans la semaine dernière.
La séquence de no. semaine se répète après 400 années = 20871 semaines.

C'est un problème de calculer la semaine ISO avec fonctions Excel.

Visual Basic a une option dans les fonctions de Datepart ou Format
qui devait donner les semaines européennes, DatePart ("ww"; d; 2; 2), d la date;
mais avec un 'bug' causant assez d'erreurs pour être un ennui parfois.
Une douzaine d'erreurs par siècle, p. ex. lundi 31/12/2007 et dimanche 2/1/2101.
(Surtout lundis, mais un dimanche occasionnel).

Les gens sont étonnés que leur machine fait des erreurs : -)
Donc il y a une petite industrie en fonctions de no. semaine européenne.
Quelques-uns avec beaucoup plus d'erreurs!
Encore une autre contribution:

Le nombre de semaine ISO en Excel:

(1/1/1900-28/12/2104)
=ENT(MOD(ENT((d+2924)/7)*28;1461)/28+1)

(Toutes dates)
=ENT(MOD(MOD(MOD(ENT((d+692501)/7);20871)*28+4383;146096);1461)/28+1)

VBA fonction:
Function WkIso (d) ' ..1/1/100-31/12/9999 grégorien ..
WkIso = (((( d + 692501) 7 Mod 20871) * 28 + 4383) Mod 146096 Mod 1461) 28 + 1
End Function

Expression inverse:
Jeudi, semaine w, année y (..1,100-52,9999..)
d=7*(ENT((ENT((y-1)*365,25)-ENT((y-1)/100)+ENT((y-1)/400)-693592)/7)+w)-2
ou =7*(ENT(DATE(y;1;2)/7)+w)-2

Date no. d est le VB et Excel serial, zéro sur 30/12/1899 date de calendrier.
Fonctions simples et nombres entiers positifs pour la calculation a quelques avantages.
Comme vitesse, possible en les autres applications, ..
J'ai vérifié, crois pas des erreurs, sauf linguistique: -)

Espére que cela soit utile, Hans (DK).





Avatar
jean Luc
"Hans Terkelsen" wrote:


"jean Luc" <jean wrote in message news:
Bonjour,
Je travaille sous excel 2007 et mes collègues utilisent mes fichiers sous
excel 2003.
Dans mon fichier créé sous 2007 je calcule des jours en utilisant la formule
"no.semaine" mais quand j'ouvre le fichier sous 2003 la formule devient
"weeknum". il suffisait de renommer en "no.semaine" et la macro fonctionnait
depuis deux jours j'ai une erreur de nom qui s'affiche dans la cellule.

Si quelqu'un pouvait me donner une solution je l'en remercie par avance




Jean Luc, ecrit une formule de nombre de semaine européenne dans la cellule.
Par ex. =ENT(MOD(ENT((d+2924)/7)*28;1461)/28+1)

Excel US WEEKNUMs (NO.SEMAINE) sont différent du no. semaine européenne (ISO 8601).
Bien que dans 2007,8,9 ils diffèrent seulement autour du Nouvel An.

Sem. US, américaines, ont une semaine courte, 1. jan au weekend, comme la semaine 1,
et un autre du weekend à 31. déc. comme la semaine 53 ou 54.
P. ex., quand il y a 54 semaines US dans une année,
les deux 1 et 54 sont seulement 1 jour long.

Les semaines ISO sont tous lundi à dimanche, sont numéro 1 à 52 ou 53,
et compté dans l'année contenant au moins 4 des 7 jours.
Jeudi est toujours dans l'année de la semaine.
La semaine 1 peut commencer 29. décembre, la semaine 53 terminer 3. janvier.
4. jan est toujours dans la semaine 1, 28. décembre toujours dans la semaine dernière.
La séquence de no. semaine se répète après 400 années = 20871 semaines.

C'est un problème de calculer la semaine ISO avec fonctions Excel.

Visual Basic a une option dans les fonctions de Datepart ou Format
qui devait donner les semaines européennes, DatePart ("ww"; d; 2; 2), d la date;
mais avec un 'bug' causant assez d'erreurs pour être un ennui parfois.
Une douzaine d'erreurs par siècle, p. ex. lundi 31/12/2007 et dimanche 2/1/2101.
(Surtout lundis, mais un dimanche occasionnel).

Les gens sont étonnés que leur machine fait des erreurs : -)
Donc il y a une petite industrie en fonctions de no. semaine européenne.
Quelques-uns avec beaucoup plus d'erreurs!
Encore une autre contribution:

Le nombre de semaine ISO en Excel:

(1/1/1900-28/12/2104)
=ENT(MOD(ENT((d+2924)/7)*28;1461)/28+1)

(Toutes dates)
=ENT(MOD(MOD(MOD(ENT((d+692501)/7);20871)*28+4383;146096);1461)/28+1)

VBA fonction:
Function WkIso (d) ' ..1/1/100-31/12/9999 grégorien ..
WkIso = (((( d + 692501) 7 Mod 20871) * 28 + 4383) Mod 146096 Mod 1461) 28 + 1
End Function

Expression inverse:
Jeudi, semaine w, année y (..1,100-52,9999..)
d=7*(ENT((ENT((y-1)*365,25)-ENT((y-1)/100)+ENT((y-1)/400)-693592)/7)+w)-2
ou =7*(ENT(DATE(y;1;2)/7)+w)-2

Date no. d est le VB et Excel serial, zéro sur 30/12/1899 date de calendrier.
Fonctions simples et nombres entiers positifs pour la calculation a quelques avantages.
Comme vitesse, possible en les autres applications, ..
J'ai vérifié, crois pas des erreurs, sauf linguistique: -)

Espére que cela soit utile, Hans (DK).


Hans merci à toi je vais tester de suite



Avatar
jean Luc
"MichDenis" wrote:

Dans la nouvelle version Excel 2007, il y a 5 nouvelles fonctions et 39 anciennes fonctions
qui appartenaient à la macro complémentaire : Utilitaire d'analyse sont devenus des
fonctions natives d'excel c'est-à-dire que tu n'as plus besoin de la macro complémentaire
pour pouvoir l'utiliser (excel 2007).

Le problème, comment excel arrive à traduire ceci lorsque le fichier passe d'une version à l'autre ?
Je n'ai pas cette nouvelle version sous la main, mais Microsoft a mis à la disposition des
utilisateurs
sur son site un "pack de compatibilité" que tu peux télécharger à cette adresse :

http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID”1B3470-3AE9-4AEE-8F43-C6BB74CD1466



"jean Luc" <jean a écrit dans le message de news:

Bonjour,
Je travaille sous excel 2007 et mes collègues utilisent mes fichiers sous
excel 2003.
Dans mon fichier créé sous 2007 je calcule des jours en utilisant la formule
"no.semaine" mais quand j'ouvre le fichier sous 2003 la formule devient
"weeknum". il suffisait de renommer en "no.semaine" et la macro fonctionnait
depuis deux jours j'ai une erreur de nom qui s'affiche dans la cellule.

Si quelqu'un pouvait me donner une solution je l'en remercie par avance






Avatar
jean Luc
"MichDenis" wrote:

Dans la nouvelle version Excel 2007, il y a 5 nouvelles fonctions et 39 anciennes fonctions
qui appartenaient à la macro complémentaire : Utilitaire d'analyse sont devenus des
fonctions natives d'excel c'est-à-dire que tu n'as plus besoin de la macro complémentaire
pour pouvoir l'utiliser (excel 2007).

Le problème, comment excel arrive à traduire ceci lorsque le fichier passe d'une version à l'autre ?
Je n'ai pas cette nouvelle version sous la main, mais Microsoft a mis à la disposition des
utilisateurs
sur son site un "pack de compatibilité" que tu peux télécharger à cette adresse :

http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID”1B3470-3AE9-4AEE-8F43-C6BB74CD1466

Merci pour ta solution mais cela n'a pas résolu le problème

"jean Luc" <jean a écrit dans le message de news:

Bonjour,
Je travaille sous excel 2007 et mes collègues utilisent mes fichiers sous
excel 2003.
Dans mon fichier créé sous 2007 je calcule des jours en utilisant la formule
"no.semaine" mais quand j'ouvre le fichier sous 2003 la formule devient
"weeknum". il suffisait de renommer en "no.semaine" et la macro fonctionnait
depuis deux jours j'ai une erreur de nom qui s'affiche dans la cellule.

Si quelqu'un pouvait me donner une solution je l'en remercie par avance






Avatar
Hans Terkelsen
"FxM" wrote in message news:
Bonjour Hans,

J'ai vérifié, crois pas des erreurs, sauf linguistique: -)
En comparaison de notre niveau de langue danoise ... aucune !



Espére que cela soit utile, Hans (DK).
Très utile, documenté et bien écrit.



Respect et @+
FxM


FxM, tu est très obligeant( ?, agréable, oui, je suis danois), merci cordialement.

Une honneur et un plaisir, Hans.



Avatar
Syra
Un coucou de l'anse vata
Bonne Année Martine !
--
na tou hoa



Bonjour Hans,

J'ai vérifié, crois pas des erreurs, sauf linguistique: -)
En comparaison de notre niveau de langue danoise ... aucune !



Espére que cela soit utile, Hans (DK).
Très utile, documenté et bien écrit.



Respect et @+
FxM



"jean Luc" <jean wrote in message news:
Bonjour,
Je travaille sous excel 2007 et mes collègues utilisent mes fichiers sous
excel 2003.
Dans mon fichier créé sous 2007 je calcule des jours en utilisant la formule
"no.semaine" mais quand j'ouvre le fichier sous 2003 la formule devient
"weeknum". il suffisait de renommer en "no.semaine" et la macro fonctionnait
depuis deux jours j'ai une erreur de nom qui s'affiche dans la cellule.

Si quelqu'un pouvait me donner une solution je l'en remercie par avance




Jean Luc, ecrit une formule de nombre de semaine européenne dans la cellule.
Par ex. =ENT(MOD(ENT((d+2924)/7)*28;1461)/28+1)

Excel US WEEKNUMs (NO.SEMAINE) sont différent du no. semaine européenne (ISO 8601).
Bien que dans 2007,8,9 ils diffèrent seulement autour du Nouvel An.

Sem. US, américaines, ont une semaine courte, 1. jan au weekend, comme la semaine 1,
et un autre du weekend à 31. déc. comme la semaine 53 ou 54.
P. ex., quand il y a 54 semaines US dans une année,
les deux 1 et 54 sont seulement 1 jour long.

Les semaines ISO sont tous lundi à dimanche, sont numéro 1 à 52 ou 53,
et compté dans l'année contenant au moins 4 des 7 jours.
Jeudi est toujours dans l'année de la semaine.
La semaine 1 peut commencer 29. décembre, la semaine 53 terminer 3. janvier.
4. jan est toujours dans la semaine 1, 28. décembre toujours dans la semaine dernière.
La séquence de no. semaine se répète après 400 années = 20871 semaines.

C'est un problème de calculer la semaine ISO avec fonctions Excel.

Visual Basic a une option dans les fonctions de Datepart ou Format
qui devait donner les semaines européennes, DatePart ("ww"; d; 2; 2), d la date;
mais avec un 'bug' causant assez d'erreurs pour être un ennui parfois.
Une douzaine d'erreurs par siècle, p. ex. lundi 31/12/2007 et dimanche 2/1/2101.
(Surtout lundis, mais un dimanche occasionnel).

Les gens sont étonnés que leur machine fait des erreurs : -)
Donc il y a une petite industrie en fonctions de no. semaine européenne.
Quelques-uns avec beaucoup plus d'erreurs!
Encore une autre contribution:

Le nombre de semaine ISO en Excel:

(1/1/1900-28/12/2104)
=ENT(MOD(ENT((d+2924)/7)*28;1461)/28+1)

(Toutes dates)
=ENT(MOD(MOD(MOD(ENT((d+692501)/7);20871)*28+4383;146096);1461)/28+1)

VBA fonction:
Function WkIso (d) ' ..1/1/100-31/12/9999 grégorien ..
WkIso = (((( d + 692501) 7 Mod 20871) * 28 + 4383) Mod 146096 Mod 1461) 28 + 1
End Function

Expression inverse:
Jeudi, semaine w, année y (..1,100-52,9999..)
d=7*(ENT((ENT((y-1)*365,25)-ENT((y-1)/100)+ENT((y-1)/400)-693592)/7)+w)-2
ou =7*(ENT(DATE(y;1;2)/7)+w)-2

Date no. d est le VB et Excel serial, zéro sur 30/12/1899 date de calendrier.
Fonctions simples et nombres entiers positifs pour la calculation a quelques avantages.
Comme vitesse, possible en les autres applications, ..
J'ai vérifié, crois pas des erreurs, sauf linguistique: -)

Espére que cela soit utile, Hans (DK).








Avatar
FxM
Un coucou de l'anse vata
Bonne Année Martine !


Hello Mana Syra,

Si je descends un peu dans le sud de la France, tu es toujours de
l'autre coté de la planète ...
Tu me glisses un petit mot en BAL perso ?

@+
FxM