indiquer la semaine avec macro

  • Initiateur de la discussion francois
  • Date de début
F

francois

Guest
bonjour au forum

je cherche une macro capable de m'indiquer sur (feuille 1) le nombre de semaines deja ecoulees depuis le debut de l'annee en fait ce que je cherche c'est une macro automatique qui quand j'ouvre mon classeur me dit quelle semaine on est:

ex: semaine 1 ou semaine 22 etc

j'imagine que c'est tres complique, pour ma part j'ai abandonne

merci d'avance a tout le forum
 

jeanpierre

Nous a quitté
Repose en paix
Bonsoir francois, Baside et le Forum,

Tout bête.. Pourquoi pas avec la fonction NO.SEMAINE

Par exemple : en A1 la date (en automatique : AUJOURD'HUI) ou n'inporte quelle date saisie. En a2 : No.semaine(a1) devrait fonctionner. Ou alors pas tout compris.

Bonne soirée à vous tous.

Jean-Pierre
 
F

francois

Guest
salut baside

j'ai ete voir sur tes liens.en fait je ne cherche pas a trouver une date a patir de chiffres mais plutot a afficher le numero de semaines ou l'on se situe independament de tout chiffres.

ce que je cherche c'est une macro qui automatiquement qd je vais ouvrir mon classeur va me donner le numero de semaines ou l'on se situe, meme si la page et vierge et en ne m'appuyant sur aucun chiffres.

c'est peut etre impossible en tout cas merci de m'aider
 

Monique

Nous a quitté
Repose en paix
Bonjour,

La fonction No.Semaine() ne donne pas de bons résultats pour les Européens.

Calendrier 1900 seulement :
=ENT(MOD(ENT((AUJOURDHUI()-2)/7)+0,6;52+5/28))+1

Compatible 1900 - 1904 :
=ENT(MOD(ENT((AUJOURDHUI()-2+(JOURSEM(1)=7)*6)/7)+0,6+((JOURSEM(1)=7)*208);52+5/28))+1
 

jeanpierre

Nous a quitté
Repose en paix
Re à tous, et à Monique en particulier,

J'utilise quelquefois NO.SEMAINE et je n'ai ajmais eu de problèmes particuliers, mais si notre amie Monique dit :
'La fonction No.Semaine() ne donne pas de bons résultats pour les Européens',
Il faut sans doute en tenir compte....

Du coup, je ne sais plus.

Bonne soirée à vous

Jean-Pierre
 

CBernardT

XLDnaute Barbatruc
Bonsoir à tous,

Un oeil sur le rugby et un autre sur le forum, :eek:

Si donc j'ai bien compris, le N° de semaine peut être obtenu par une vieille macro du forum :

Sub macro ()

Range('A1').Value = Format(Date, 'ww')

End Sub

Cordialement

Bernard
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Bernard, Monique, Jean Pierre, François, le Forum


Je me pemets d'intervenir, attention Bernard, le code tel quel n'est pas juste :

Sub NumSemaineWW()
Dim TheDay As Date
TheDay = 38515
'demain le 12/06/2005 un dimanche

MsgBox Format(TheDay, 'ww')
End Sub


En effet il va retourner 25, or demain c'est Dimanche, on passera en 25eme semaine que Lundi....

Il faut faire ceci pour être juste en VBA :

Sub NumSemainePartDate()
Dim TheDay As Date
TheDay = 38515
'demain le 12/06/2005 un dimanche

MsgBox DatePart('WW', TheDay, vbMonday, vbFirstFourDays)
End Sub

Bien Sur la macro définitive se basera sur Date Directement comme ceci :

Private Sub Workbook_Open()
    Sheets('Feuil1').Range('A1') = DatePart('WW', Date, 2, 2)
End Sub


Bonne Soirée
@+Thierry


EDITION !!!
Je me suis mélangé les pinceaux lol !!

Mais bon, les paramétres suivants sont les notres en Europe :
vbMonday 2 Lundi
vbFirstFourDays 2 Commencer par la première semaine comportant au moins quatre jours dans l'année nouvelle.

Voir Aide VBA à 'DatePart, fonction' ...

Message édité par: _Thierry, à: 11/06/2005 21:39
 

CBernardT

XLDnaute Barbatruc
Re à tous et bonsoir Thierry,


Effectivement, il ne faut pas oublier le 2 qui définit la semaine bien de chez nous et non pas la semaine anglo saxonne.

Donc, merci Thierry, je mets bien au chaud la fonction Datepart bien utile dans l'exemple ci-dessus et bien d'autres.

Cordialement

Bernard
 

Discussions similaires

Statistiques des forums

Discussions
312 748
Messages
2 091 612
Membres
105 008
dernier inscrit
fatimazahrabouaouda16@gma