OVH Cloud OVH Cloud

Fonction têtue

2 réponses
Avatar
Michir
Bonsoir à tous,

Volà, j'utilise une fonction personnalisée en colonne I, pour déterminer
le dernier jour d'un numéro de semaine quelquonque (colonne H) d'une
année donnée (en A1):

Function VENDREDI(annee As Integer, NumSemaine As Integer) As Double
'mpfe B Mazas
'retourne la date du lundi de la semaine n° "NumSemaine" (ISO) de
l'année "Annee"
Dim DernierJour As Date
DernierJour = DateSerial(annee, 1, 1)
If Weekday(DernierJour) = 6 Or Weekday(DernierJour) = 7 Then
'si le 1er janvier tombe un vendredi ou un samedi
DernierJour = DernierJour - Weekday(DernierJour) + 2
Else
DernierJour = DernierJour - Weekday(DernierJour) - 1
End If
VENDREDI = DernierJour + 7 * NumSemaine
End Function

Elle a parfaitement fonctionné pour l'année 2006
Lorsque je veux l'utiliser pour 2007 sous la forme d'une formule:
=VENDREDI($A$1;H159), je ne peux pas la copier glisser, elle donne
toujours la même date
Pourriez vous me dire où j'ai raté la marche ?

Merci à tous et toutes

Michel

2 réponses

Avatar
JB
On 30 jan, 19:36, Michir wrote:
Bonsoir à tous,

Volà, j'utilise une fonction personnalisée en colonne I, pour déter miner
le dernier jour d'un numéro de semaine quelquonque (colonne H) d'une
année donnée (en A1):

Function VENDREDI(annee As Integer, NumSemaine As Integer) As Double
'mpfe B Mazas
'retourne la date du lundi de la semaine n° "NumSemaine" (ISO) de
l'année "Annee"
Dim DernierJour As Date
DernierJour = DateSerial(annee, 1, 1)
If Weekday(DernierJour) = 6 Or Weekday(DernierJour) = 7 Then
'si le 1er janvier tombe un vendredi ou un samedi
DernierJour = DernierJour - Weekday(DernierJour) + 2
Else
DernierJour = DernierJour - Weekday(DernierJour) - 1
End If
VENDREDI = DernierJour + 7 * NumSemaine
End Function

Elle a parfaitement fonctionné pour l'année 2006
Lorsque je veux l'utiliser pour 2007 sous la forme d'une formule:
=VENDREDI($A$1;H159), je ne peux pas la copier glisser, elle donne
toujours la même date
Pourriez vous me dire où j'ai raté la marche ?

Merci à tous et toutes

Michel


Bonsoir,

Mode de calcul sur ordre?

JB

Avatar
Michir
On 30 jan, 19:36, Michir wrote:
Bonsoir à tous,

Volà, j'utilise une fonction personnalisée en colonne I, pour déterminer
le dernier jour d'un numéro de semaine quelquonque (colonne H) d'une
année donnée (en A1):

Function VENDREDI(annee As Integer, NumSemaine As Integer) As Double
'mpfe B Mazas
'retourne la date du lundi de la semaine n° "NumSemaine" (ISO) de
l'année "Annee"
Dim DernierJour As Date
DernierJour = DateSerial(annee, 1, 1)
If Weekday(DernierJour) = 6 Or Weekday(DernierJour) = 7 Then
'si le 1er janvier tombe un vendredi ou un samedi
DernierJour = DernierJour - Weekday(DernierJour) + 2
Else
DernierJour = DernierJour - Weekday(DernierJour) - 1
End If
VENDREDI = DernierJour + 7 * NumSemaine
End Function

Elle a parfaitement fonctionné pour l'année 2006
Lorsque je veux l'utiliser pour 2007 sous la forme d'une formule:
=VENDREDI($A$1;H159), je ne peux pas la copier glisser, elle donne
toujours la même date
Pourriez vous me dire où j'ai raté la marche ?

Merci à tous et toutes

Michel


Bonsoir,

Mode de calcul sur ordre?

JB


Merci JB, c'est parfait, comme toujours

Michel