nom du mois

arnelka60

XLDnaute Nouveau
bonjour a tous

je recherche le moyen d'afficher le nom du mois par rapport a un numero de semaine

merci d'avance
 

vbacrumble

XLDnaute Accro
Re : nom du mois

Bonsoir


Une solution par formule (adaptée d'une formule de JeanMarie issue des archives)

saisir le numéro de semaine en A1
et en B1 cette formule
Code:
=NOMPROPRE(TEXTE((A1*7)+DATE(ANNEE(AUJOURDHUI());1;1)-SI(JOURSEM(DATE(ANNEE(AUJOURDHUI());1;1);2)>4;JOURSEM(DATE(ANNEE(AUJOURDHUI());1;1);2)-1;6+JOURSEM(DATE(ANNEE(AUJOURDHUI());1;1);2));"mmmm"))

En version plus courte (en nommant PJA cette formule au préalable :
DATE(ANNEE(AUJOURDHUI());1;1)
(Avec Insertion/Noms/Définir )

Code:
=NOMPROPRE(TEXTE((A1*7)+PJA-SI(JOURSEM(PJA;2)>4;JOURSEM(PJA;2)-1;6+JOURSEM(PJA;2));"mmmm"))
 
Dernière édition:

vbacrumble

XLDnaute Accro
Re : nom du mois

Re

En 2009 : la semaine 1 commence en décembre 2008
(lundi 29/12/2008)

Lances la macro nommée TestMacro

Ensuite va voir dans le menu d'Excel nommé:
Insertion/Noms/Définir

Tu trouveras deux formules nommées

Code:
Sub nommerformule()
' Macro1 Macro
' Macro enregistrée le 10/03/2009 par VBACrumble
With ActiveWorkbook.Names
    .Add Name:="PJA", RefersToR1C1:="=DATE(YEAR(TODAY()),1,1)"
    .Add Name:="MOISPARNUMSEM", RefersToR1C1:= _
     "=PROPER(TEXT((!R1C1*7)+PJA-IF(WEEKDAY(PJA,2)>4,WEEKDAY(PJA,2)-1,6+WEEKDAY(PJA,2)),""mmmm""))"
End With
End Sub

Sub TestMacro()
Dim NUMSEM As Byte
nommerformule
NUMSEM = InputBox("Numero de semaine : de 1 à 52" & Chr(13) & Chr(13) & "Année de référence :" & Year(Date))
Range("A1") = NUMSEM
Range("B1").Formula = "=MOISPARNUMSEM"
End Sub
 
Dernière édition:

vbacrumble

XLDnaute Accro
Re : nom du mois

Re

Voici une autre formule (toujours issue des archives)
Saisir le numéro de semaine en A1
et la formule en B1
Code:
=NOMPROPRE(TEXTE(DATE(ANNEE(AUJOURDHUI());1;3)-JOURSEM(DATE(ANNEE(AUJOURDHUI());1;3))-5+(7*A1);"mmmm"))

Je te remets une macro (pour éviter d'avoir à saisir les formules)
Code:
Sub Macro4()
' Macro4 Macro
' Macro enregistrée le 10/03/2009 par VBACrumble
With ActiveWorkbook
.Names.Add Name:="SNOMMOIS", RefersToR1C1:= _
        "=PROPER(TEXT(DATE(YEAR(TODAY()),1,3)-WEEKDAY(DATE(YEAR(TODAY()),1,3))-5+(7*!R1C1),""mmmm""))"
    With .ActiveSheet
        With .Range("A1")
        .Value = Val(InputBox("Numéro de semaine -> 1/52 ( pour : " & Year(Date) & " )"))
        .Offset(, 1).Formula = "=SNOMMOIS"
        End With
    End With
End With
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 485
Messages
2 088 814
Membres
103 971
dernier inscrit
abdazee