*Bonjour erwann67*, Dans Options/Macros complémentaires... Cocher Utilitaires d'analyse
Bonjour
J'ai un petit problème
Sur l'ordinateur sur lequel je travaille, dans Excel, la fonction nb.jours.ouvres n'est pas intégré Cette fonction m'est indispensable
Quelqu'un pourrait-il me la donner sous formes de fonctions personnalisés en langages VBA ? Ex : Function nb.jours.ouvres(Date_Départ; Date_Fin)
Merci
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
AV
Pour ne pas être tributaire des fonctions de l'Utilitaire d'Analyse et des ses gros soucis de portabilité : La date de Début est en A2, la date de Fin en B2 et il y a une plage nommée "JoursFériés" contenant les jours fériés (et/ou non travaillés)
Dans la feuille ça donnera : =NbJoursOUV(A2;B2;JoursFériés)
** Une fonction perso avec une bouclette :
Function NbJoursOUV2(Déb, Fin, JrFs) For i = Déb * 1 To Fin * 1 If Weekday(i, vbMonday) < 6 And IsError(Application.Match(i, [JrFs], 0)) Then x = x + 1 Next NbJoursOUV2 = x End Function
Dans la feuille ça donnera : =NbJoursOUV2(A2;B2;JoursFériés)
AV
Pour ne pas être tributaire des fonctions de l'Utilitaire d'Analyse et des ses
gros soucis de portabilité :
La date de Début est en A2, la date de Fin en B2 et il y a une plage nommée
"JoursFériés" contenant les jours fériés (et/ou non travaillés)
Dans la feuille ça donnera :
=NbJoursOUV(A2;B2;JoursFériés)
** Une fonction perso avec une bouclette :
Function NbJoursOUV2(Déb, Fin, JrFs)
For i = Déb * 1 To Fin * 1
If Weekday(i, vbMonday) < 6 And IsError(Application.Match(i, [JrFs], 0))
Then x = x + 1
Next
NbJoursOUV2 = x
End Function
Dans la feuille ça donnera :
=NbJoursOUV2(A2;B2;JoursFériés)
Pour ne pas être tributaire des fonctions de l'Utilitaire d'Analyse et des ses gros soucis de portabilité : La date de Début est en A2, la date de Fin en B2 et il y a une plage nommée "JoursFériés" contenant les jours fériés (et/ou non travaillés)
Dans la feuille ça donnera : =NbJoursOUV(A2;B2;JoursFériés)
** Une fonction perso avec une bouclette :
Function NbJoursOUV2(Déb, Fin, JrFs) For i = Déb * 1 To Fin * 1 If Weekday(i, vbMonday) < 6 And IsError(Application.Match(i, [JrFs], 0)) Then x = x + 1 Next NbJoursOUV2 = x End Function
Dans la feuille ça donnera : =NbJoursOUV2(A2;B2;JoursFériés)
AV
AV
L'exemple qui va avec... http://cjoint.com/?fFiYLTqZcM
AV
L'exemple qui va avec...
http://cjoint.com/?fFiYLTqZcM
L'exemple qui va avec... http://cjoint.com/?fFiYLTqZcM
AV
Thierry
Voilà mon algo :
Function NB_JOUR_OUVRES(Début, fin) ' ' Cette fonction utilisable dans une feuille de calcul sous la forme ' =NB_JOUR_OUVRES(DATE(B1;B2;1);DATE(B1;B2+1;1)-1)ou B1= année à traiter ' et B2 = mois à traiter et ou 1 représente le 1er jour du mois et b2+1;1)-1 le dernier ' jour du mois ' For i = Year(Début) To Year(fin) Tbl = Tbl & DateSerial(i, 1, 1) * 1 & "," 'Jour de l'An p = Evaluate("round(date(" & i & ",4,mod(234-11*mod(" & i & ",19),30))/7,)*7-5") 'Lundi de Pâques Tbl = Tbl & p & "," Tbl = Tbl & DateSerial(i, 5, 1) * 1 & "," 'Fête du travail Tbl = Tbl & DateSerial(i, 5, 8) * 1 & "," 'Victoire 1945 Tbl = Tbl & p + 38 & "," 'Jeudi de l'Ascension 'Tbl = Tbl & P + 49 & "," 'Lundi de Pentecôte Tbl = Tbl & DateSerial(i, 7, 14) * 1 & "," 'Fête Nationale Tbl = Tbl & DateSerial(i, 8, 15) * 1 & "," '15 Aôut Tbl = Tbl & DateSerial(i, 11, 1) * 1 & "," ' Toussaint Tbl = Tbl & DateSerial(i, 11, 11) * 1 & "," '11 Nov [Armistice 1918] Tbl = Tbl & DateSerial(i, 12, 25) * 1 & "," ' Noël Next ' If Tbl = "" Then Exit Function ' Y = "{" & Left(Tbl, Len(Tbl) - 1) & "}" ' For j = Début * 1 To fin * 1 If Weekday(j, 2) < 6 And Evaluate("isna(match(" & j & "," & Y & ",0))") Then x = x + 1 Next ' NB_JOUR_OUVRES = x ' End Function
"erwann67" a écrit dans le message de news:
Bonjour
J'ai un petit problème
Sur l'ordinateur sur lequel je travaille, dans Excel, la fonction nb.jours.ouvres n'est pas intégré Cette fonction m'est indispensable
Quelqu'un pourrait-il me la donner sous formes de fonctions personnalisés en langages VBA ? Ex : Function nb.jours.ouvres(Date_Départ; Date_Fin)
Merci
--- Antivirus avast! : message Entrant sain. Base de donnees virale (VPS) : 000746-0, 30/05/2007 Analyse le : 31/05/2007 09:16:41 avast! - copyright (c) 1988-2007 ALWIL Software. http://www.avast.com
--- Antivirus avast! : message Sortant sain. Base de donnees virale (VPS) : 000746-0, 30/05/2007 Analyse le : 31/05/2007 09:20:34 avast! - copyright (c) 1988-2007 ALWIL Software. http://www.avast.com
Voilà mon algo :
Function NB_JOUR_OUVRES(Début, fin)
'
' Cette fonction utilisable dans une feuille de calcul sous la forme
' =NB_JOUR_OUVRES(DATE(B1;B2;1);DATE(B1;B2+1;1)-1)ou B1= année à traiter
' et B2 = mois à traiter et ou 1 représente le 1er jour du mois et b2+1;1)-1
le dernier
' jour du mois
'
For i = Year(Début) To Year(fin)
Tbl = Tbl & DateSerial(i, 1, 1) * 1 & "," 'Jour de l'An
p = Evaluate("round(date(" & i & ",4,mod(234-11*mod(" & i &
",19),30))/7,)*7-5") 'Lundi de Pâques
Tbl = Tbl & p & ","
Tbl = Tbl & DateSerial(i, 5, 1) * 1 & "," 'Fête du travail
Tbl = Tbl & DateSerial(i, 5, 8) * 1 & "," 'Victoire 1945
Tbl = Tbl & p + 38 & "," 'Jeudi de l'Ascension
'Tbl = Tbl & P + 49 & "," 'Lundi de Pentecôte
Tbl = Tbl & DateSerial(i, 7, 14) * 1 & "," 'Fête Nationale
Tbl = Tbl & DateSerial(i, 8, 15) * 1 & "," '15 Aôut
Tbl = Tbl & DateSerial(i, 11, 1) * 1 & "," ' Toussaint
Tbl = Tbl & DateSerial(i, 11, 11) * 1 & "," '11 Nov [Armistice 1918]
Tbl = Tbl & DateSerial(i, 12, 25) * 1 & "," ' Noël
Next
'
If Tbl = "" Then Exit Function
'
Y = "{" & Left(Tbl, Len(Tbl) - 1) & "}"
'
For j = Début * 1 To fin * 1
If Weekday(j, 2) < 6 And Evaluate("isna(match(" & j & "," & Y & ",0))")
Then x = x + 1
Next
'
NB_JOUR_OUVRES = x
'
End Function
"erwann67" <erwann67@discussions.microsoft.com> a écrit dans le message de
news: 3770924C-8621-441B-A13B-E0572798265E@microsoft.com...
Bonjour
J'ai un petit problème
Sur l'ordinateur sur lequel je travaille, dans Excel, la fonction
nb.jours.ouvres n'est pas intégré
Cette fonction m'est indispensable
Quelqu'un pourrait-il me la donner sous formes de fonctions personnalisés
en
langages VBA ?
Ex : Function nb.jours.ouvres(Date_Départ; Date_Fin)
Merci
---
Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000746-0, 30/05/2007
Analyse le : 31/05/2007 09:16:41
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com
---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000746-0, 30/05/2007
Analyse le : 31/05/2007 09:20:34
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com
Function NB_JOUR_OUVRES(Début, fin) ' ' Cette fonction utilisable dans une feuille de calcul sous la forme ' =NB_JOUR_OUVRES(DATE(B1;B2;1);DATE(B1;B2+1;1)-1)ou B1= année à traiter ' et B2 = mois à traiter et ou 1 représente le 1er jour du mois et b2+1;1)-1 le dernier ' jour du mois ' For i = Year(Début) To Year(fin) Tbl = Tbl & DateSerial(i, 1, 1) * 1 & "," 'Jour de l'An p = Evaluate("round(date(" & i & ",4,mod(234-11*mod(" & i & ",19),30))/7,)*7-5") 'Lundi de Pâques Tbl = Tbl & p & "," Tbl = Tbl & DateSerial(i, 5, 1) * 1 & "," 'Fête du travail Tbl = Tbl & DateSerial(i, 5, 8) * 1 & "," 'Victoire 1945 Tbl = Tbl & p + 38 & "," 'Jeudi de l'Ascension 'Tbl = Tbl & P + 49 & "," 'Lundi de Pentecôte Tbl = Tbl & DateSerial(i, 7, 14) * 1 & "," 'Fête Nationale Tbl = Tbl & DateSerial(i, 8, 15) * 1 & "," '15 Aôut Tbl = Tbl & DateSerial(i, 11, 1) * 1 & "," ' Toussaint Tbl = Tbl & DateSerial(i, 11, 11) * 1 & "," '11 Nov [Armistice 1918] Tbl = Tbl & DateSerial(i, 12, 25) * 1 & "," ' Noël Next ' If Tbl = "" Then Exit Function ' Y = "{" & Left(Tbl, Len(Tbl) - 1) & "}" ' For j = Début * 1 To fin * 1 If Weekday(j, 2) < 6 And Evaluate("isna(match(" & j & "," & Y & ",0))") Then x = x + 1 Next ' NB_JOUR_OUVRES = x ' End Function
"erwann67" a écrit dans le message de news:
Bonjour
J'ai un petit problème
Sur l'ordinateur sur lequel je travaille, dans Excel, la fonction nb.jours.ouvres n'est pas intégré Cette fonction m'est indispensable
Quelqu'un pourrait-il me la donner sous formes de fonctions personnalisés en langages VBA ? Ex : Function nb.jours.ouvres(Date_Départ; Date_Fin)
Merci
--- Antivirus avast! : message Entrant sain. Base de donnees virale (VPS) : 000746-0, 30/05/2007 Analyse le : 31/05/2007 09:16:41 avast! - copyright (c) 1988-2007 ALWIL Software. http://www.avast.com
--- Antivirus avast! : message Sortant sain. Base de donnees virale (VPS) : 000746-0, 30/05/2007 Analyse le : 31/05/2007 09:20:34 avast! - copyright (c) 1988-2007 ALWIL Software. http://www.avast.com
Possible car c'est sur ce n'est pas moi qui l'ai fait
:) :)
"AV" a écrit dans le message de news:
Voilà mon algo :
Ca me rappelle furieusement quelque chose...
;-) AV
--- Antivirus avast! : message Entrant sain. Base de donnees virale (VPS) : 000746-0, 30/05/2007 Analyse le : 31/05/2007 10:10:13 avast! - copyright (c) 1988-2007 ALWIL Software. http://www.avast.com
--- Antivirus avast! : message Sortant sain. Base de donnees virale (VPS) : 000746-0, 30/05/2007 Analyse le : 31/05/2007 10:11:02 avast! - copyright (c) 1988-2007 ALWIL Software. http://www.avast.com
MichDenis
| Pour ne pas être tributaire des fonctions de l'Utilitaire d'Analyse et des ses | gros soucis de portabilité :
Du travail de moins pour toi avec Excel 2007, 39 des formules des macros complémentaires sont devenus des formules natives d'excel ! C'est pas beau ça ? ;-))
| Pour ne pas être tributaire des fonctions de l'Utilitaire d'Analyse et des ses
| gros soucis de portabilité :
Du travail de moins pour toi avec Excel 2007, 39 des formules des macros
complémentaires sont devenus des formules natives d'excel !
C'est pas beau ça ?
;-))
| Pour ne pas être tributaire des fonctions de l'Utilitaire d'Analyse et des ses | gros soucis de portabilité :
Du travail de moins pour toi avec Excel 2007, 39 des formules des macros complémentaires sont devenus des formules natives d'excel ! C'est pas beau ça ? ;-))
AV
Du travail de moins pour toi avec Excel 2007, 39 des formules des macros complémentaires sont devenus des formules natives d'excel !
Formules ? Fonctions tu voulais dire..;-) Ceci dit, il faut assurer la compatibilité descendante... Donc ça ne résoud pas vraiment le problème.... avant quelques années (d'ici à ce que tout le monde utilise XL2007....)
AV
Du travail de moins pour toi avec Excel 2007, 39 des formules des macros
complémentaires sont devenus des formules natives d'excel !
Formules ? Fonctions tu voulais dire..;-)
Ceci dit, il faut assurer la compatibilité descendante...
Donc ça ne résoud pas vraiment le problème.... avant quelques années (d'ici à ce
que tout le monde utilise XL2007....)
Du travail de moins pour toi avec Excel 2007, 39 des formules des macros complémentaires sont devenus des formules natives d'excel !
Formules ? Fonctions tu voulais dire..;-) Ceci dit, il faut assurer la compatibilité descendante... Donc ça ne résoud pas vraiment le problème.... avant quelques années (d'ici à ce que tout le monde utilise XL2007....)
AV
Francois L
Possible car c'est sur ce n'est pas moi qui l'ai fait
:) :)
Bonsoir,
... ce qui suggèrerait d'écrire "voila l'algo que j'utilise" à défaut de citer l'auteur
"AV" a écrit dans le message de news:
Voilà mon algo : Ca me rappelle furieusement quelque chose...
-- François L
Possible car c'est sur ce n'est pas moi qui l'ai fait
:) :)
Bonsoir,
... ce qui suggèrerait d'écrire "voila l'algo que j'utilise" à défaut de
citer l'auteur
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message de news:
exAYfb1oHHA.208@TK2MSFTNGP05.phx.gbl...
Voilà mon algo :
Ca me rappelle furieusement quelque chose...