OVH Cloud OVH Cloud

calendrier et conditions

12 réponses
Avatar
patrick burlot
bonjour,
je souhaite additionner dans une colonne les jours de semaine travaillés
sans comptabiliser ni les WE ni surtout les jours fériés.
j'au utilisé cette fonction
=SI(OU(JOURSEM(C12;2)>6;C12=fériés);B11;1+B11)

mais il m'est retourné un message d'erreur #valeur#

"fériés" représente la zone de cellules où se trouve répertorié tous les
jours fériés d'une année.
où ai je fais une erreur?!
c12 = le jour du calendrier
b11 = la cellule supérieur à la cellule active

merci

10 réponses

1 2
Avatar
JB
Bonjour,

Le + simple pour calculer le nb de jours ouvrés entre 2 dates est
d'utiliser la fonction Nb.Jours.ouvres(). férié est un champ qui
contient les jours fériés.

http://cjoint.com/?mAn1MZZq3C

=NB.JOURS.OUVRES(départ;fin;férié)

dans ta formule, pour tester si le jour appartient au champ Fériés,il
faut utiliser un Nb.Si()
Nb.Si(fériés;c12)>0


Cordialement JB
Avatar
Michel Gaboly
Bonjour,

Le #VALEUR! résulte du test "C12=fériés"

Tu ne peux pas tester l'égalité entre C12 (1 cellule) et Fé riés, une plage de plusieurs cellules.

Il faut utiliser EQUIV() par exemple qui te permet de tester si C12 exist e dans fériés. Si ce n'est pas le cas, EQUIV()
renvoie #N/A, ce que l'on peut tester avec ESTNA()

Cela donne :

=SI(OU(JOURSEM(C12;2) >= 6;NON(ESTNA(EQUIV(C12;Fériés;0)))) ;B11;1+B11)

NB - Dans la seconde partie du test, il faut employer "> 5" ou ">= 6", sinon, tu n'exclus que les dimanches.


Il existe également une autre voie, que personnellement je déco nseille vivement : Dans le menu Outils, tu peux installer
des macros complémentaires. Parmi celles-ci l'utilitaire d'analyse q ui ajoute un certain nombre de fonctions à Excel,
dont "NB.JOURS.OUVRES", qui permet de déterminer le nb de jours ouvr és entre 2 dates.

D'une part ton document peut comporter des trous : 1er au 15 mars, puis 2 0 au 31.

D'autre part, et c'est le + important à mes yeux, si on change de po ste ou qu'on envoie le fichier à quelqu'un, on
récupère des #VALEUR! dans toute cellule faisant appel à u ne fonction liée à l'utilitaire d'analyse si celui-ni n'est
pas installé. Or, par défaut, celui-ci ne l'étant pas, le risque me paraît considérable, et je préfère NE JAMAI S faire
appel aux fonctions liées à l'utilitaire d'analyse;

Voilà.


bonjour,
je souhaite additionner dans une colonne les jours de semaine travaillà ©s
sans comptabiliser ni les WE ni surtout les jours fériés.
j'au utilisé cette fonction
=SI(OU(JOURSEM(C12;2)>6;C12=fériés);B11;1+B11)

mais il m'est retourné un message d'erreur #valeur#

"fériés" représente la zone de cellules où se trouv e répertorié tous les
jours fériés d'une année.
où ai je fais une erreur?!
c12 = le jour du calendrier
b11 = la cellule supérieur à la cellule active

merci




--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
JièL Goubert
Bonjoir© Michel Gaboly

Le 26/12/2005 14:30 vous avez écrit... :
D'autre part, et c'est le + important à mes yeux, si on change de poste
ou qu'on envoie le fichier à quelqu'un, on récupère des #VALEUR! dans
toute cellule faisant appel à une fonction liée à l'utilitaire d'analyse
si celui-ni n'est pas installé. Or, par défaut, celui-ci ne l'étant pas,
le risque me paraît considérable, et je préfère NE JAMAIS faire appel
aux fonctions liées à l'utilitaire d'analyse;


je repose la question : n'est il pas possible de "savoir", par macro ou
autre, si les utilitaires d'analyse sont actif ou pas et s'il ne le sont
pas, n'est il pas possible de les activer ?

Ca me parait quand même dommage de devoir se passer de fonctionnalités
déjà existantes. (je sais, toi tu préfères réinventer l'eau chaude à
chaque fois, mais quand même...)

--
JièL / Jean-Louis GOUBERT
La FAQ Outlook est la : http://faq.outlook.free.fr

Avatar
patrick burlot
Merci JB et Michel Gaboly pour les réponses :

ma formule donne :=SI(OU(JOURSEM(C12;2)>5;NB.SI(feries;C12)>0);B11;1+B11) et
fonctionne trés bien. je l'utilise pour chacune des années (3).
C'était la dernière condition pour que mon tableau puisse être utilisé au
maximum à savoir le suivi sur 3 années de la fréquentation journalière d'un
restau U en fonction du même nombre de jours par comparaison aux années N-1
et N-2.

je ne maitrise pas les macros et préfére les imbrications de fonctions. de
plus ce tableau sera utilisé sur différents postes par différentes personnes.





Bonjour,

Le + simple pour calculer le nb de jours ouvrés entre 2 dates est
d'utiliser la fonction Nb.Jours.ouvres(). férié est un champ qui
contient les jours fériés.

http://cjoint.com/?mAn1MZZq3C

=NB.JOURS.OUVRES(départ;fin;férié)

dans ta formule, pour tester si le jour appartient au champ Fériés,il
faut utiliser un Nb.Si()
Nb.Si(fériés;c12)>0


Cordialement JB




Avatar
Michel Gaboly
Bonsoir, Jièl

Bien sûr qu'on peut tester :

MsgBox AddIns("Utilitaire d'analyse").Installed


Mais ... Si quelqu'un envoie par mail un fichier Excel où il est fait a ppel à des fonctions liées à l'utilitaire
d'analyse, il ne comporte le + souvent pas de code VBA, donc aucun moyen de vérifier quoi que ce soit automatiquement

Bonnes fêtes.



Bonjoir© Michel Gaboly

Le 26/12/2005 14:30 vous avez écrit... :

D'autre part, et c'est le + important à mes yeux, si on change de
poste ou qu'on envoie le fichier à quelqu'un, on récupère des #V ALEUR!
dans toute cellule faisant appel à une fonction liée à l'utilita ire
d'analyse si celui-ni n'est pas installé. Or, par défaut, celui-ci ne
l'étant pas, le risque me paraît considérable, et je préfère NE JAMAIS
faire appel aux fonctions liées à l'utilitaire d'analyse;



je repose la question : n'est il pas possible de "savoir", par macro ou
autre, si les utilitaires d'analyse sont actif ou pas et s'il ne le son t
pas, n'est il pas possible de les activer ?

Ca me parait quand même dommage de devoir se passer de fonctionnalité s
déjà existantes. (je sais, toi tu préfères réinventer l'eau c haude à
chaque fois, mais quand même...)




--
Cordialement,

Michel Gaboly
www.gaboly.com


Avatar
Michel Gaboly
Re,

De rien ;-)))


Attention à un détail : n'oublie pas d'intégrer à ta plage "fér iés" les jours fériés des 3 années, y compris ceux à date
fixe (s'il n'y a que le 1er janvier 2005, par exemple les 1er janvier 200 6 et 2007 ne seront pas considérés comme fériés).

Bonne soirée,


Merci JB et Michel Gaboly pour les réponses :

ma formule donne :=SI(OU(JOURSEM(C12;2)>5;NB.SI(feries;C12)>0);B11;1+ B11) et
fonctionne trés bien. je l'utilise pour chacune des années (3).
C'était la dernière condition pour que mon tableau puisse être ut ilisé au
maximum à savoir le suivi sur 3 années de la fréquentation journa lière d'un
restau U en fonction du même nombre de jours par comparaison aux anné es N-1
et N-2.

je ne maitrise pas les macros et préfére les imbrications de foncti ons. de
plus ce tableau sera utilisé sur différents postes par différente s personnes.






Bonjour,

Le + simple pour calculer le nb de jours ouvrés entre 2 dates est
d'utiliser la fonction Nb.Jours.ouvres(). férié est un champ qui
contient les jours fériés.

http://cjoint.com/?mAn1MZZq3C

=NB.JOURS.OUVRES(départ;fin;férié)

dans ta formule, pour tester si le jour appartient au champ Fériés, il
faut utiliser un Nb.Si()
Nb.Si(fériés;c12)>0


Cordialement JB






--
Cordialement,

Michel Gaboly
www.gaboly.com


Avatar
JB
Liste des JF (fêtes mobiles)

http://cjoint.com/?mAtlAD36ZT

JB
Avatar
LSteph
Bonsoir à tous , et Jiel,
Excuses moi (Michel) d'avoir un avis différent du tien sur ce point,
d'accord avec toi pour nombre de choses, là non!
Je trouve complètement absurde de se priver des facilités offertes par les
fonctions liées à l'utilitaire d'analyse.
Pour qui n'utilise déjà pas les fonctions courantes d'excel, on conçoit
aisément que d'en rajouter de plus pertinentes serait peu utile.
Pour qui comme toi maîtrise à ce point VBA il est compréhensible que
l'utilitaire d'analyse soit obsolète de même que les liaisons entre
classeurs.
Mais amha pour la plupart c'est bien utile! D'ailleurs, souvent sont ceux
qui se heurtent au fait qu'ayant mis au point
un classeur, les utilisateurs n'ont pas chargé l'utilitaire d'analyse, et
ont besoin de contrôler sa présence comme celle des autres complémentaires.
Il est donc bien dommage qu'il ne le soit pas par défaut.
A leur intention voici une macro qui donne un récap que l'on pourrait aussi
adapter facilement en fonction pour vérifier s'il faut installer tel ou tel
add in.
D'ailleurs je suis sûr que tu saurais l'améliorer sans difficulté!

Sub veriAdd()
'ajoute une feuille
'etat des addins
Dim madd As AddIn
Dim I As Integer
I = 1
Sheets.Add
On Error Resume Next
ActiveSheet.Name = "Etat des Addins"
[A1] = "titre"
[b1] = "fichier"
[c1] = "Etat"
For Each madd In AddIns
I = I + 1
ActiveSheet.Cells(I, 1) = madd.Title
ActiveSheet.Cells(I, 2) = madd.FullName
'on peut aussi utiliser path et name
ActiveSheet.Cells(I, 3) = madd.Installed
Next
Columns("A:C").EntireColumn.AutoFit
End Sub
'***

'lSteph

"JièL Goubert" a écrit dans le
message de news:
Bonjoir© Michel Gaboly

Le 26/12/2005 14:30 vous avez écrit... :
D'autre part, et c'est le + important à mes yeux, si on change de poste
ou qu'on envoie le fichier à quelqu'un, on récupère des #VALEUR! dans
toute cellule faisant appel à une fonction liée à l'utilitaire d'analyse
si celui-ni n'est pas installé. Or, par défaut, celui-ci ne l'étant pas,
le risque me paraît considérable, et je préfère NE JAMAIS faire appel aux
fonctions liées à l'utilitaire d'analyse;


je repose la question : n'est il pas possible de "savoir", par macro ou
autre, si les utilitaires d'analyse sont actif ou pas et s'il ne le sont
pas, n'est il pas possible de les activer ?

Ca me parait quand même dommage de devoir se passer de fonctionnalités
déjà existantes. (je sais, toi tu préfères réinventer l'eau chaude à
chaque fois, mais quand même...)

--
JièL / Jean-Louis GOUBERT
La FAQ Outlook est la : http://faq.outlook.free.fr



Avatar
Modeste
Bonsour® Michel Gaboly avec ferveur ;o))) vous nous disiez :

Bien sûr qu'on peut tester :
MsgBox AddIns("Utilitaire d'analyse").Installed



;o)))
on peut même l'activer !!!! (voir l'aide VBA addin)

Pour installer une macro complémentaire , vous devez d'abord utiliser la
méthode Add puis définir la propriété Installed. Cela peut être effectué en
une seule étape comme indiqué dans l'exemple suivant
!!!!!!
notez l'utilisation du nom de la macro complémentaire(nom du fichier) et non
du titre "Utilitaire d'analyse" avec la méthode Add
!!!!
AddIns.Add("Analys32.xll").Installed = True
--
;o)))
@+

Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI

n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr

Avatar
JB
Bonjour,

Sur mon poste AddIns.Add("Analys32.xll").Installed = True ne suffit
pas. Il faut spécifier le chemin.

If AddIns("Utilitaire d'analyse").Installed = True Then
MsgBox "Utilitaire d'analyse installé"
Else
MsgBox "Utilitaire d'analyse pas installé"
chemin = ""
For Each a In AddIns
If InStr(a.Path, "Analyse") > 0 Then
chemin = a.Path
Exit For
End If
Next a
If chemin <> "" Then
AddIns.Add(chemin & "ANALYS32.XLL").Installed = True
End If
End If

Cordialement JB
1 2