Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

N° Semaine VBA

Nimbus

XLDnaute Occasionnel
Bonjour à tous,

Je voudrai savoir comment mon document excel peut me renvoyer le numéros de la semaine en connaissant la date du jour.

Je m'explique: J'ai un document Excel qui me donne automatiquement la date du jour.
Actuellement, je voudrai qu'il me donne le numéros de la semaine correspondant.
Normallement, aujourd'hui, je devrai lire date: 26/08/2013 et dans N°Sem :35

Cependant, je n'arrive à faire un programme qui marche...
Pourriez vous m'aider svp!

Merci, par avance, pour votre aide!

Cordialement

Nimbus
(En pièce jointe mon document pour que vous puissiez voir ce que j'ai fais et corriger mes erreurs)
 

Pièces jointes

  • MC_fonctionne.xlsm
    223.7 KB · Affichages: 54
  • MC_fonctionne.xlsm
    223.7 KB · Affichages: 63
  • MC_fonctionne.xlsm
    223.7 KB · Affichages: 87

pierrejean

XLDnaute Barbatruc
Re : N° Semaine VBA

bonjour Nimbus
Salut David

Une autre solution
 

Pièces jointes

  • MC_fonctionne.xlsm
    218.6 KB · Affichages: 120
  • MC_fonctionne.xlsm
    218.6 KB · Affichages: 91
  • MC_fonctionne.xlsm
    218.6 KB · Affichages: 126

Modeste geedee

XLDnaute Barbatruc
Re : N° Semaine VBA

Bonsour®
il faut d'abord connaitre quelle norme utiliser ?
la fonction WEEKNUM (NOSEMAINE) est à la norme US
i.e. dimanche est le 1er jour de la semaine
les semaines de fin année et début d'année ne comporte pas systématiquement 7 jours ...

en Europe (Norme ISO)
la semaine comporte toujours 7 Jours
la semaine 01 est la semaine qui contient le 1er jeudi de l'année

par formule :
=ENT(MOD(ENT((Ladate-2)/7)+0,6;52+5/28))+1
par Fonction (VBA)BUG: Les fonctions Format et DatePart peuvent renvoyer un numéro de semaine erroné pour le dernier lundi de l'année
VB:
Function SemISO (MyDate As Date) As Integer   ' Week Of Year
  SemISO = Format(MyDate, "ww", vbMonday, vbFirstFourDays)
  If SemISO > 52 Then
    If Format(MyDate + 7, "ww", vbMonday, vbFirstFourDays) = 2 Then SemISO = 1
  End If
End Function
 

chris

XLDnaute Barbatruc
Re : N° Semaine VBA

Bonjour

A partir de 2010 on peut avoir un numéro de semaine iso par la fonction NO.SEMAINE ou WEEKNUM mais pas sur les versions antérieures dont 2007...
 

Nimbus

XLDnaute Occasionnel
Re : N° Semaine VBA

Bonjour à tous

J'ai un problème avec un autre document Excel.
Ce matin le programme pour avoir les numéros de semaine fonctionnait bien. J'ai donc voulu l'appliquer sur le "vrai" document concerné et là impossible de le faire fonctionner.

Il m'indique toutes les données que je veux sauf le n° de la semaine...
Quelqu'un pourrait il m'aider car, je pense que se ne sera pas la seule modif que j'effectuerai sur ce document...

Merci pour votre aide
 

Pièces jointes

  • MC_Plastique.xlsm
    453.5 KB · Affichages: 51
  • MC_Plastique.xlsm
    453.5 KB · Affichages: 56
  • MC_Plastique.xlsm
    453.5 KB · Affichages: 45

Nimbus

XLDnaute Occasionnel
Re : N° Semaine VBA

Pierrejean,

Je viens d'essayer ton programme et il ne fonctionne pas...
Rien ne s'affiche dans ma colonne "N° Sem."

Et j'avoue ne pas trouver l'erreur.

Pourrais tu m'aider??

Merci
 

Pièces jointes

  • MC_Plastique.xlsm
    238.7 KB · Affichages: 82
  • MC_Plastique.xlsm
    238.7 KB · Affichages: 77
  • MC_Plastique.xlsm
    238.7 KB · Affichages: 75

Modeste geedee

XLDnaute Barbatruc
Re : N° Semaine VBA

Bonsour®
il faut copier les fonctions fournies par PierreJean ou moi-même dans un de tes modules standard,
puis comme indiqué précédemment modifier la partie de code mettant a jour les données...
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…