OVH Cloud OVH Cloud

comment récuperer le n° de la semaine

5 réponses
Avatar
lematou
Bonjour à toutes et tous,
voilà ce qui me ramene vers vous, j'ai peaufiné une macro mais j'ai un souci
je n'arrive pas à récupérer le N° de la semaine.
je voudrais pouvoir indiquer dans une cellule le n° de la semaine du
traitement.
exemple cette semaine je voudrais que sem= 8 !
a votre avis est ce possible de maniere simple (pour mon niveau quoi)
merci encore pour votre aide précieuse
jacks

5 réponses

Avatar
JLuc
lematou avait soumis l'idée :
Bonjour à toutes et tous,
voilà ce qui me ramene vers vous, j'ai peaufiné une macro mais j'ai un souci
je n'arrive pas à récupérer le N° de la semaine.
je voudrais pouvoir indiquer dans une cellule le n° de la semaine du
traitement.
exemple cette semaine je voudrais que sem= 8 !
a votre avis est ce possible de maniere simple (pour mon niveau quoi)
merci encore pour votre aide précieuse
jacks


Essaie cela :
Public Function ISOWeekNum(d1 As Date) As Integer
'recuperee sur http://www.excelabo.net/xl/calendriers.php#numsemVBA
'Daniel Maher
Dim Jan03 As Long
Jan03 = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3)
ISOWeekNum = Int((d1 - Jan03 + Weekday(Jan03) + 5) / 7)
End Function

--
JLuc

Avatar
lematou
Bonjour JLUC
j'avais aessayé de récupérer le module sur exelabo
mais a la ligne de code
reS = ((D - reS - 3 + (Weekday(reS) + 1) Mod 7)) 7 + 1
il me disais que j'avais une erreur de compil.
comme je ne suis pas un pro je n'ai pas trouvé l'erreur
question:
la public fonction je la positionne avant ma macro ?
peux tu me dire comment j'exploite le résultat ?
(quand je dis que je ne suis pas un pro)
JAcks


lematou avait soumis l'idée :
Bonjour à toutes et tous,
voilà ce qui me ramene vers vous, j'ai peaufiné une macro mais j'ai un souci
je n'arrive pas à récupérer le N° de la semaine.
je voudrais pouvoir indiquer dans une cellule le n° de la semaine du
traitement.
exemple cette semaine je voudrais que sem= 8 !
a votre avis est ce possible de maniere simple (pour mon niveau quoi)
merci encore pour votre aide précieuse
jacks


Essaie cela :
Public Function ISOWeekNum(d1 As Date) As Integer
'recuperee sur http://www.excelabo.net/xl/calendriers.php#numsemVBA
'Daniel Maher
Dim Jan03 As Long
Jan03 = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3)
ISOWeekNum = Int((d1 - Jan03 + Weekday(Jan03) + 5) / 7)
End Function

--
JLuc






Avatar
Jacky
Bonjour,
Cette fonction donne le n° de semaine au norme Française
--------
Function NOSEM(D As Date) As Long
D = Int(D)
NOSEM = DateSerial(Year(D + (8 - Weekday(D)) Mod 7 - 3), 1, 1)
NOSEM = ((D - NOSEM - 3 + (Weekday(NOSEM) + 1) Mod 7)) 7 + 1
End Function
'----------
A mettre dans un module(dans vba insertion module)
et avec une date valide en A1 par exemple dans une cellule =NOSEM(A1)

Salutations
JJ

"lematou" a écrit dans le message de
news:
Bonjour à toutes et tous,
voilà ce qui me ramene vers vous, j'ai peaufiné une macro mais j'ai un
souci

je n'arrive pas à récupérer le N° de la semaine.
je voudrais pouvoir indiquer dans une cellule le n° de la semaine du
traitement.
exemple cette semaine je voudrais que sem= 8 !
a votre avis est ce possible de maniere simple (pour mon niveau quoi)
merci encore pour votre aide précieuse
jacks



Avatar
AV
| exemple cette semaine je voudrais que sem= 8 !

=ENT((AUJOURDHUI()-(DATE(ANNEE(AUJOURDHUI()-JOURSEM(AUJOURDHUI()-1)+4);1;3)-JOURSEM(DATE(ANNEE(AUJOURDHUI()-JOURSEM(AUJOURDHUI()-1)+4);1;3)))+5)/7)
ou bien

Function NUMSEM_ISO(cel As Range) 'AV
If Day(cel) = 2 And Month(cel) = 1 And Year(cel) Mod 400 = 101 Then NUMSEM_ISO =
52: Exit Function
NUMSEM_ISO = IIf(Weekday(cel) = 2 And Month(ladate) = 12 And Day(cel) > 28, 1,
DatePart("ww", cel, 2, 2))
End Function

AV
Avatar
JLuc
lematou avait soumis l'idée :
la public fonction je la positionne avant ma macro ?
peux tu me dire comment j'exploite le résultat ?


Tu la met dans un module standart, et tu fais appele a elle comme
n'importe quelle fonction

--
JLuc