Bjr,
Dans ce code que représente le 3 de DATE et à quoi sert Text ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part lundisem = Evaluate("text(date(2008,1,3)-weekday(date(2008,1,3))-5+(7*17)+ 0,""dd/mm/yyyy"")")
Bjr,
Dans ce code que représente le 3 de DATE et à quoi sert Text ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part lundisem = Evaluate("text(date(2008,1,3)-weekday(date(2008,1,3))-5+(7*17)+ 0,""dd/mm/yyyy"")")
bonjour
la fonction "Texte" sert à convertir une valeur en texte et par la même occasion ici, de mettre en forme le résultat: "dd/mm/yyyy"
bon après midi
michel
bjr,
Ok pour la transfo en texte mais ici pourquoi on transforme en texte ?
et pouquoi date part du 3 1 2008 si le 3 représente bien le jour ?
Cdt
bonjour
tu as lu mon message ?mais ici pourquoi on transforme en texte ?
par la même occasion ici, de mettre en forme le résultat: "dd/mm/yyyy"
sans la fonction Texte, tu obtiendrais uniquement une valeur numérique représentant la date : 39559
bon week end
michel
Petite précision.
Ce que tu nous montres est une formule Excel, pas du code VBA.
Tu pourrais parfaitement analyser cette formule en tapant chacun des mots clés (après un =) dans la barre de formule et en cliquant sur le bouton fx (juste devant la barre de formule).
Tu obtiendrais toute l'info nécessaire.
Ceci dit, il est franchement tordu de faire un Evaluate en VBA alors que toutes les fonctions Excel utilisées ont leur équivalent en VBA.
N'oubliez pas de cliquer surquand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
Bjr Alain
C'est pourtant ce que j'ai récupéré qui disait "comment trouver par macro la date du lundi d'une semaine donnée le code est:
Existe-t-il mieux en code ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sub Test() Dim Annee As Integer, Semaine As Integer, NumJour As Integer Annee = 2007 Semaine = 43 NumJour = 0 ' 0=Lundi, 1=Mardi ... MsgBox Evaluate("TEXT(DATE(" & Annee & ",1,3)-WEEKDAY(DATE(" & Annee & _ ",1,3))-5+(7*" & Semaine & ")+" & NumJour & ",""dd/mm/yyyy"")") End Sub
Cdt
Bjr,
J'ai vu vos code, moi j'avais adapté comme ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 annee=Format(Date,"yyyy") datdeb=Format(annee &",1,3","#####" joursem=Weekday(datdeb) numsem=DatePart("ww",Date) lundi=Format((datdeb-joursem) -5+(7*numsem),"dd/mm/yyyy")
Mais c'est maintenant autre chose !
Tu cherches le lundi de la semaine dans laquelle se trouve la date en cours ?
Si c'est celà, rien de plus simple !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Command1_Click() MsgBox Date - WeekDay(Date) + 2 End Sub
Bjr,
Non je cherche bien le lundi d'une semaine par rapport au n° de cette semaine.
Cdt
Bien sur c'est bien ce que je fais: le format date n'est la que pour recuperer l'annee et datdeb= format(annee & ",1,3","#####") c'est pareil que dateserial(annee,1,1) non ?
Comme quoi, mon premier code, même s'il vient d'une lecture incomplète de la question, répondait bien au problème:
Connaître le lundi précédent une date donnée.
N'oubliez pas de cliquer surquand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
Partager