Date

Signaler
Messages postés
8
Date d'inscription
samedi 25 février 2006
Statut
Membre
Dernière intervention
11 février 2009
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
Bonjour,
Comme un vrai débutant, je ne sais même pas trouver le thème qui va bien pour ma question.......
Je suis en VBA excel, mais la question est tellement basique que ça doit être valable pour tout visual basic !
.... voilà
La fonction "date" peut-elle me retourner le numéro de la semaine en cours ?
Sinon, est-il facile de calculer ou déduire ce numéro ?
Merci d'avance pour vos réponses.

6 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
75
Salut
(thème corrigé)
En cherchant un tout petit peu, tu serais tombé sur cette fonction : http://www.vbfrance.com/code.aspx?ID=20083

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
589
Date d'inscription
lundi 25 août 2003
Statut
Membre
Dernière intervention
18 juillet 2010
1
En visual basic le code pourrer donner ca :

Dim a As String
Dim b() As String
Dim Numero As Integer


a = Date


b = Split(a, "/")




Numero = b(0)


Numero = Numero \ 7
Numero = Numero + b(1) * 4

Je t'explique, date renvoie la date actuelle 31/07/07
je decoupe en 3 partie, jour, mois, année
je divise le nombre de jour par 7 en ne prenant que la partie entiere ce qui donne la semaine du mois actuelle, 1er ou 2eme ou 3eme ou 4eme
J'ajoute le nombre de mois fois 4 car il y a 4 semaines par mois.

Attention, ce code ne marche que sur l'heure française, les anglais ecrivent : m/j/a
Messages postés
589
Date d'inscription
lundi 25 août 2003
Statut
Membre
Dernière intervention
18 juillet 2010
1
A bha j'ai rien dis ^^, la source donné par jack est plus simple.
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Les dates seront toujours un problème en programmation ...
Mais si tu es sous Excel, tu pourrais essayer quelque chose.
Tu installes ou actives la macro complémentaire "Utilitaire d'analyse"
Ensuite, tu auras accès à la formule NO.SEMAINE(unedate, paramètre)
"paramètre" est le premier jour de la semaine dimanche ou lundi)

Si tu n'as pas encore installé cet utilitaire, voici la méthode utilisée selon M$
Moi, je ne me rappelle plus comment je l'ai installé (en fait, je ne sais plus si elle était là par défaut (non cochée) ou si j'ai dû l'installer), mais ça fonctionne bien dans mon cas avec les numéros de semaines ici, au Québec

-----------------------------------------------------------------------------------------
Pour installer l'Utilitaire d'analyse, cliquez sur Macros complémentaires dans le menu Outils, activez la case à cocher Utilitaire d'analyse, puis cliquez sur OK.

Si vous ne voyez pas la case à cocher Utilitaire d'analyse, vérifiez que vous disposez du support d'installation d'origine de Microsoft Office ou Excel, double-cliquez sur l'icône Ajout/Suppression de programmes dans le Panneau de configuration, puis effectuez l'une des actions suivantes :

Pour Microsoft Windows® 2000, Windows Millennium Edition et Windows XP :

<li>Si vous avez installé Excel avec Microsoft Office, cliquez sur Microsoft Office dans la zone Programmes actuellement installés, puis cliquez sur Modifier.</li><li>Si vous avez installé Excel individuellement, cliquez sur le programme Excel dans la zone Programmes actuellement installés, puis cliquez sur Modifier.</li>Suivez les instructions qui s'affichent à l'écran. Pour trouver
l'utilitaire d'analyse, développez le nœud Microsoft Excel pour
Windows, puis le nœud Macros complémentaire

MPi
Messages postés
8
Date d'inscription
samedi 25 février 2006
Statut
Membre
Dernière intervention
11 février 2009

Bonjour,
Merci à tous.
En cherchant un peu, j'ai découvert qu'il existait une fonction proposant des opérations à partir de la date(c'est "datepart"), pour moi ça donne :
numero_semaine = DatePart("ww", Date)
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
lol, y'a une source pour ça !! Mouhhahh

bref, il y a aussi des snippets, le mien (pas top) et celui de Molenn (à préférer) :
http://www.codyx.org/snippet_calculer-numero-semaine-date_152.aspx

La différence c'est que ça ne donne pas forcémment le numéro de la semaine de la date en cours, mais celui de la date donnée en paramètre

@++

<hr width="100%" size="2" />( Nouveau forum : Exclusivement Office & VBA/STRONG>