date du lundi en fonction de la semaine (format non ISO..)
2 réponses
fuzzy
Bonjour,
J'ai vu pas mal de choses sur le forum et sur excellabo concernant les
calculs =E0 partir de date mais je n'arrive pas =E0 r=E9soudre mon pb car le
format ne suit pas un standard particulier :
Je r=E9cup=E8re des dates dans une base donn=E9e dont le format est du
type :
746 : 46i=E8me semaine de l'ann=E9e 2007
Je souhaite calculer la date du lundi, 4 semaines auparavant.
J'avais presque r=E9ussi mais =E7a tenait plus de la magouille que de la
formule savante, mais tout s'=E9croule d=E8s que l'on passe en 2008 o=F9 4
semaines avant la 801 il trouve la 797...
Je pense qu'il faut d=E9j=E0 que je convertisse mon format dans le format
ISO ou autre puis que je fasse les calculs mais je peine !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacky
Bonjour,
A défaut de mieux...... Essaie ceci, une fonction perso Adapté de 'Daniel Maher' '--------------- Function Lundi(NumS As Integer, SemEnMoins As Integer) As Double 'adapté de Daniel Maher aN = Left(NumS, 1) NumS = Right(NumS, 2) Dim premJ As Date premJ = DateSerial(aN, 1, 3) Lundi = premJ - Weekday(premJ) - 5 + (7 * NumS) - (SemEnMoins * 7) End Function '-------------- En A1 : 746, 801, etc) Dans une cellule =Lundi(A1;4)
-- Salutations JJ
"fuzzy" a écrit dans le message de news:
Bonjour,
J'ai vu pas mal de choses sur le forum et sur excellabo concernant les calculs à partir de date mais je n'arrive pas à résoudre mon pb car le format ne suit pas un standard particulier :
Je récupère des dates dans une base donnée dont le format est du type : 746 : 46ième semaine de l'année 2007 Je souhaite calculer la date du lundi, 4 semaines auparavant.
J'avais presque réussi mais ça tenait plus de la magouille que de la formule savante, mais tout s'écroule dès que l'on passe en 2008 où 4 semaines avant la 801 il trouve la 797...
Je pense qu'il faut déjà que je convertisse mon format dans le format ISO ou autre puis que je fasse les calculs mais je peine !
Si vous pouvez me donner un coup de main..
Roadbuster.
Bonjour,
A défaut de mieux......
Essaie ceci, une fonction perso
Adapté de 'Daniel Maher'
'---------------
Function Lundi(NumS As Integer, SemEnMoins As Integer) As Double
'adapté de Daniel Maher
aN = Left(NumS, 1)
NumS = Right(NumS, 2)
Dim premJ As Date
premJ = DateSerial(aN, 1, 3)
Lundi = premJ - Weekday(premJ) - 5 + (7 * NumS) - (SemEnMoins * 7)
End Function
'--------------
En A1 : 746, 801, etc)
Dans une cellule
=Lundi(A1;4)
--
Salutations
JJ
"fuzzy" <roadbuster@free.fr> a écrit dans le message de news:
1190124544.009737.52370@g4g2000hsf.googlegroups.com...
Bonjour,
J'ai vu pas mal de choses sur le forum et sur excellabo concernant les
calculs à partir de date mais je n'arrive pas à résoudre mon pb car le
format ne suit pas un standard particulier :
Je récupère des dates dans une base donnée dont le format est du
type :
746 : 46ième semaine de l'année 2007
Je souhaite calculer la date du lundi, 4 semaines auparavant.
J'avais presque réussi mais ça tenait plus de la magouille que de la
formule savante, mais tout s'écroule dès que l'on passe en 2008 où 4
semaines avant la 801 il trouve la 797...
Je pense qu'il faut déjà que je convertisse mon format dans le format
ISO ou autre puis que je fasse les calculs mais je peine !
A défaut de mieux...... Essaie ceci, une fonction perso Adapté de 'Daniel Maher' '--------------- Function Lundi(NumS As Integer, SemEnMoins As Integer) As Double 'adapté de Daniel Maher aN = Left(NumS, 1) NumS = Right(NumS, 2) Dim premJ As Date premJ = DateSerial(aN, 1, 3) Lundi = premJ - Weekday(premJ) - 5 + (7 * NumS) - (SemEnMoins * 7) End Function '-------------- En A1 : 746, 801, etc) Dans une cellule =Lundi(A1;4)
-- Salutations JJ
"fuzzy" a écrit dans le message de news:
Bonjour,
J'ai vu pas mal de choses sur le forum et sur excellabo concernant les calculs à partir de date mais je n'arrive pas à résoudre mon pb car le format ne suit pas un standard particulier :
Je récupère des dates dans une base donnée dont le format est du type : 746 : 46ième semaine de l'année 2007 Je souhaite calculer la date du lundi, 4 semaines auparavant.
J'avais presque réussi mais ça tenait plus de la magouille que de la formule savante, mais tout s'écroule dès que l'on passe en 2008 où 4 semaines avant la 801 il trouve la 797...
Je pense qu'il faut déjà que je convertisse mon format dans le format ISO ou autre puis que je fasse les calculs mais je peine !