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

Afficher numéro semaine

dran_200

XLDnaute Occasionnel
bonjour a tous

j'ai trouvé cette macro pour afficher le numéro de la semaine en cellule D1
mais elle met une erreur
quelqu'un a une idée ?

macro :
Range("D1").Activate
ActiveCell.FormulaR1C1 = "=NUM.SEMAINE(RC[-2])"

merci
 

Modeste geedee

XLDnaute Barbatruc
Re : Afficher numéro semaine

Bonsour®
Bonjour à tous,

Peux-tu essayer :
Range("D1").Formula = "=WEEKNUM(RC[-2])"
A+ à tous


pour abonder dans ce sens et avec exhaustivité ...

' ----------syntaxe abs : Mot clé US ,
Range("D1").Formula = "=WEEKNUM($B$1)"

' ----------syntaxe abs locale : Mot clé FR ;
Range("E1").FormulaLocal = "=NO.SEMAINE($B$1)"

' ----------syntaxe relative : Mot clé US , RC [ ]
Range("F1").FormulaR1C1 = "=WEEKNUM(RC[-4])"

' ----------syntaxe relative locale : Mot clé FR ; LC ( )
Range("G1").FormulaR1C1Local = "=NO.SEMAINE(LC(-5))"
 

Staple1600

XLDnaute Barbatruc
Re : Afficher numéro semaine

Bonjour à tous

Une autre possibilité
(même si je ne comprends pas pourquoi ne pas simplement utiliser la formule directement (sans vba))
Code vb:
Sub a()
'syntaxe pour sur XL 2013
'je ne sais plus si
NO.SEMAINE.ISO est disponible sur XL2010 et XL2007.
[B1] = Date ' juste pour le test
[D1] = Application.WorksheetFunction.IsoWeekNum([B1])
End Sub
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Afficher numéro semaine

Bonjour à tous

Personnellement, je n'utilise plus No.semaine car elle était buggée il y a queqlques années.

Je préfère ceci:

Code VBA:
Sub sem2()
ActiveCell.Offset(0, 1).Value = Val(Format(ActiveCell.Value, "ww", vbMonday, vbFirstFourDays))
End Sub
 

Modeste geedee

XLDnaute Barbatruc
Re : Afficher numéro semaine

Bonsour®
qui est buggée également ....


BUG: Les fonctions Format et DatePart peuvent renvoyer un numéro de semaine erroné pour le dernier lundi de l'année

Code:
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

ou bien :
=ENT(MOD(ENT((A1-2)/7)+0,6;52+5/28))+1
Formule plus courte de numéro de semaine : Forum Excel
 

Pièces jointes

  • Capture.JPG
    30.6 KB · Affichages: 77
  • Capture.JPG
    30.6 KB · Affichages: 76
  • Capture.JPG
    30.6 KB · Affichages: 72

dran_200

XLDnaute Occasionnel
Re : Afficher numéro semaine

re

j'ai essayé avec :

=ENT(MOD(ENT((A1-2)/7)+3/5;52+5/28))+1

en A1 j'ai :

Range("B1").Select
ActiveCell.FormulaR1C1 = "=TODAY()"

la date fonction

mais pas la semaine !!!!

merci
 

Discussions similaires

Réponses
24
Affichages
441
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…