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

Nombre de jours ouvrables

16 réponses
Avatar
Suzanne Malette
J'ai d=E9velopp=E9 un fichier en Excel 97 (en fran=E7ais)pour=20
=EAtre utilis=E9 par une cinquantaine de personnes =E0 mon=20
bureau.
La formule est =3DNB.JOURS.OUVRES......
Le but est de calculer le nombre de jours ouvrables entre=20
deux colonnes.
La formule fonctionne tr=E8s bien pour ceux qui ont Excel en=20
fran=E7ais. Cependant, tous ceux qui ont le logiciel en=20
anglais il y a un message d'erreur. La formule ne=20
fonctionne pas sur aucun syst=E8me en anglais. On dirait=20
que la formule ne se traduit pas en anglais. Que puis-je=20
faire pour ceux qui ont Excel en anglais?

10 réponses

1 2
Avatar
modeste
Bonjour,
1-
la traduction en anglais de :
=NB.JOURS.OUVRES(date debut,date fin, joursféries)
est
=NETWORKDAYS(

2- l'utilitaire d'analyse correspondant se nomme
ATPVBAEN.XLA et se trouve en principe dans l'arborescence
MSOFFICEEXCELMACROLIBANALYSE
;-))) sur mon poste....

3- celui-ci doit apparaitre coché dans la liste des macros
complémentaires
(menu outils macros complémentaires)
il est fort probable ??? dans ces conditions que la
traduction soit alors automatique à l'ouverture de la
feuille ?????

me goure-je ???

@+






-----Message d'origine-----
J'ai développé un fichier en Excel 97 (en français)pour
être utilisé par une cinquantaine de personnes à mon
bureau.
La formule est =NB.JOURS.OUVRES......
Le but est de calculer le nombre de jours ouvrables entre
deux colonnes.
La formule fonctionne très bien pour ceux qui ont Excel
en

français. Cependant, tous ceux qui ont le logiciel en
anglais il y a un message d'erreur. La formule ne
fonctionne pas sur aucun système en anglais. On dirait
que la formule ne se traduit pas en anglais. Que puis-je
faire pour ceux qui ont Excel en anglais?
.



Avatar
Paul V.
Suzanne Malette wrote:
...............

Que puis-je
faire pour ceux qui ont Excel en anglais?


Leur offrir un Excel français? ;-)

Paul V
PS: Cfr la réponse de notre Modeste pour quelque chose de sérieux

Avatar
Croquignol
Salut Modeste,


2- l'utilitaire d'analyse correspondant se nomme
ATPVBAEN.XLA et se trouve en principe dans l'arborescence
MSOFFICEEXCELMACROLIBANALYSE
;-))) sur mon poste....


En fait AtpVbaen ne contient que des "wrappers" en VBA des vraies fonctions,
qui elles se trouvent dans le fichier Analys32.xll. Ces "wrappers" ne
servent qu'aux appels des fonctions de l'utilitaire à partir de macros VBA
(pas à partir des feuilles de calcul).

Les noms localisés des fonctions se trouvent dans le fichier Funcres.xla. Ce
fichier dépend de la version d'Excel installée. Si c'est la version
française, il contiendra par exemple NB.JOURS.OUVRES, sinon NETWORKDAYS. Il
n'y a donc pas de traduction automatique.

En revanche, tu peux bidouiller Funcres.xla afin de donner tes propres noms
aux fonctions de l'utilitaire. Il suffit d'exécuter cette macro:

Sub DéplombeFuncRes()
Workbooks("Funcres.xla").IsAddin = False
End Sub

Retourne sous Excel et admire le résultat. ;-)

Tu cherches NB.JOURS.OUVRES dans la colonne F, tu le remplaces par
COUCOUCMOI. Tu enregistres le fichier dans le même répertoire que
Funcres.xla, type de fichier = macro complémentaire, tu nommes cette copie
Funcres2.xla.
Ensuite tu quittes Excel, tu renommes le vrai Funcres.xla en Funcres1.xla,
tu renommes Funcres2.xla en Funcres.xla, tu relances Excel,
tu tapes =COUCOUCMOI(1/1/2003;AUJOURDHUI()) dans une cellule, et le tour est
joué. ;-)

Amicalement,

Croquignol


3- celui-ci doit apparaitre coché dans la liste des macros
complémentaires
(menu outils macros complémentaires)
il est fort probable ??? dans ces conditions que la
traduction soit alors automatique à l'ouverture de la
feuille ?????

me goure-je ???

@+


-----Message d'origine-----
J'ai développé un fichier en Excel 97 (en français)pour
être utilisé par une cinquantaine de personnes à mon
bureau.
La formule est =NB.JOURS.OUVRES......
Le but est de calculer le nombre de jours ouvrables entre
deux colonnes.
La formule fonctionne très bien pour ceux qui ont Excel
en

français. Cependant, tous ceux qui ont le logiciel en
anglais il y a un message d'erreur. La formule ne
fonctionne pas sur aucun système en anglais. On dirait
que la formule ne se traduit pas en anglais. Que puis-je
faire pour ceux qui ont Excel en anglais?
.





Avatar
Paul V.
Oups,

Ca c'est une info qui est croquignolette ;-)
Je teste et si cela marche (j'en doute pas), ce sera très utile
Un grand merci

Paul V

Croquignol wrote:
Salut Modeste,


2- l'utilitaire d'analyse correspondant se nomme
ATPVBAEN.XLA et se trouve en principe dans l'arborescence
MSOFFICEEXCELMACROLIBANALYSE
;-))) sur mon poste....


En fait AtpVbaen ne contient que des "wrappers" en VBA des vraies
fonctions, qui elles se trouvent dans le fichier Analys32.xll. Ces
"wrappers" ne servent qu'aux appels des fonctions de l'utilitaire à
partir de macros VBA (pas à partir des feuilles de calcul).

Les noms localisés des fonctions se trouvent dans le fichier
Funcres.xla. Ce fichier dépend de la version d'Excel installée. Si
c'est la version française, il contiendra par exemple
NB.JOURS.OUVRES, sinon NETWORKDAYS. Il n'y a donc pas de traduction
automatique.

En revanche, tu peux bidouiller Funcres.xla afin de donner tes
propres noms aux fonctions de l'utilitaire. Il suffit d'exécuter
cette macro:

Sub DéplombeFuncRes()
Workbooks("Funcres.xla").IsAddin = False
End Sub

Retourne sous Excel et admire le résultat. ;-)

Tu cherches NB.JOURS.OUVRES dans la colonne F, tu le remplaces par
COUCOUCMOI. Tu enregistres le fichier dans le même répertoire que
Funcres.xla, type de fichier = macro complémentaire, tu nommes cette
copie Funcres2.xla.
Ensuite tu quittes Excel, tu renommes le vrai Funcres.xla en
Funcres1.xla, tu renommes Funcres2.xla en Funcres.xla, tu relances
Excel,
tu tapes =COUCOUCMOI(1/1/2003;AUJOURDHUI()) dans une cellule, et le
tour est joué. ;-)

Amicalement,

Croquignol


3- celui-ci doit apparaitre coché dans la liste des macros
complémentaires
(menu outils macros complémentaires)
il est fort probable ??? dans ces conditions que la
traduction soit alors automatique à l'ouverture de la
feuille ?????

me goure-je ???

@+


-----Message d'origine-----
J'ai développé un fichier en Excel 97 (en français)pour
être utilisé par une cinquantaine de personnes à mon
bureau.
La formule est =NB.JOURS.OUVRES......
Le but est de calculer le nombre de jours ouvrables entre
deux colonnes.
La formule fonctionne très bien pour ceux qui ont Excel
en

français. Cependant, tous ceux qui ont le logiciel en
anglais il y a un message d'erreur. La formule ne
fonctionne pas sur aucun système en anglais. On dirait
que la formule ne se traduit pas en anglais. Que puis-je
faire pour ceux qui ont Excel en anglais?
.






Avatar
AV
Que puis-je faire pour ceux qui ont Excel en anglais?


Soluce 1 (la meilleure amha) : Ne pas utliser les fonctions fournies par les
macros complémentaires !
Nbre de jours ouvrés entre "déb" et "fin" :
=SI(Fin<Déb;0;SOMME((JOURSEM(LIGNE(INDIRECT(Déb&":"&Fin));2)<6)*ESTNA(EQUIV(LIGN
E(INDIRECT(Déb&":"&Fin));jrF;0))))

Soluce 2 : méthode Evaluate :
[A2] = [networkdays( Déb,Fin,jrF)]
[A2] = Evaluate("sum((weekday(row(" & [Déb] * 1 & ":" & [fin] * 1 &
"),2)<6)*isna(match(row(" & [Déb] * 1 & ":" & [Fin] * 1 & "),jrF,0)))")

AV

Avatar
Croquignol
Bonsoir AV,

Plutôt qu'une formule matricielle on peut aussi opter pour une formule
purement arithmétique, plus rapidement calculée:

=ENT((SOMMEPROD(MOD(F-{8;7};7)-MOD(D-{9;8};7))+5*(F-D))/7)+1

(D = date début, F = date fin)

Amicalement,

Croquignol


Que puis-je faire pour ceux qui ont Excel en anglais?


Soluce 1 (la meilleure amha) : Ne pas utliser les fonctions fournies par les
macros complémentaires !
Nbre de jours ouvrés entre "déb" et "fin" :
=SI(Fin<Déb;0;SOMME((JOURSEM(LIGNE(INDIRECT(Déb&":"&Fin));2)<6)*ESTNA(EQUIV(LIGN
E(INDIRECT(Déb&":"&Fin));jrF;0))))

Soluce 2 : méthode Evaluate :
[A2] = [networkdays( Déb,Fin,jrF)]
[A2] = Evaluate("sum((weekday(row(" & [Déb] * 1 & ":" & [fin] * 1 &
"),2)<6)*isna(match(row(" & [Déb] * 1 & ":" & [Fin] * 1 & "),jrF,0)))")

AV



Avatar
Croquignol
Même plutôt =ENT((SOMMEPROD(JOURSEM(F-{0;6})-JOURSEM(D-{1;0}))+5*(F-D))/7)+1
pour éviter les MOD.

Croq


Bonsoir AV,

Plutôt qu'une formule matricielle on peut aussi opter pour une formule
purement arithmétique, plus rapidement calculée:

=ENT((SOMMEPROD(MOD(F-{8;7};7)-MOD(D-{9;8};7))+5*(F-D))/7)+1

(D = date début, F = date fin)


Avatar
Croquignol
=ENT((SOMME(JOURSEM(F-{0;6})-JOURSEM(D-{1;0}))+5*(F-D))/7)+1

Quand y aura plus que le signe =, promis j'arrête. ;-)

Croquignol


Même plutôt =ENT((SOMMEPROD(JOURSEM(F-{0;6})-JOURSEM(D-{1;0}))+5*(F-D))/7)+1
pour éviter les MOD.

Croq


Bonsoir AV,

Plutôt qu'une formule matricielle on peut aussi opter pour une formule
purement arithmétique, plus rapidement calculée:

=ENT((SOMMEPROD(MOD(F-{8;7};7)-MOD(D-{9;8};7))+5*(F-D))/7)+1

(D = date début, F = date fin)




Avatar
gee-dee-
;-)))
bonsoir Ribouldingue, Croquignol ????
Filochard c'était pas toi !!!! ;-)))

Merci concernant les explications a-propos du fichierATPVBAEN.xla,
il y a quelques années j'avais eu des soucis de ce type avec mes collégues
espagnols qui arrivaient à faire fonctionner mes macros, alors que moi je
n'arrivais pas à faire fonctionner les leurs , un echange réciproques des
xla manquantes m'avait alors permis de résoudre le probleme....
je n'avais pas alors cherché d'autres explications ;-)))

Par ailleurs il est vrai que sur mon XP+excel familial , je ne posséde que
ATPVBAEN.XLA ????

comme quoi on apprend en permanence grace à MPFE !!!

@+
Avatar
Croquignol

;-)))
bonsoir Ribouldingue, Croquignol ????
Filochard c'était pas toi !!!! ;-)))


Même pas, la Filoche était prévue pour demain ! :-)

Merci concernant les explications a-propos du fichierATPVBAEN.xla,
il y a quelques années j'avais eu des soucis de ce type avec mes collégues
espagnols qui arrivaient à faire fonctionner mes macros, alors que moi je
n'arrivais pas à faire fonctionner les leurs , un echange réciproques des
xla manquantes m'avait alors permis de résoudre le probleme....
je n'avais pas alors cherché d'autres explications ;-)))


Oui, c'est aussi la solution la plus simple pour les fonctions de
l'utilitaire d'analyse: emprunter le Funcres.xla d'un collègue anglophone.

Amicalement,

Croquignol

1 2