Rechercher : dans
Par :

[EXCEL]-Convertir un numéro de semain en mois

Dernière réponse le 11 mai 2009 à 18:25:00 dehollain, le 31 aoû 2007 à 10:20:26 
 Signaler ce message aux modérateurs

Bonjour à tous !

Sur Excel, je souhaiterais convertir un numéro de semaine (1 à 52) en numéro de mois (1 à 12).

Avez-vous une solution simple ?

Merci d'avance

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « [EXCEL] Convertir un numéro de semain en mois » dans :
Excel - Convertir fichier(s) CSV / XLS VoirComme dit dans le titre, cette application convertit des fichiers CSV en fichiers XLS N’est pas nécessaire pour Excel 2007, ce dernier faisant la conversion automatiquement La conversion n’ayant pas de mise en forme, en cas de modification...
Travailler sur les dates avec Excel VoirVous avez une date en C3 par exemple, et vous voulez connaitre : le N° de la semaine correspondant à cette date : = NO.SEMAINE(C3;2) Nota : 2 correspond à un système de semaines commençant le Lundi, et 1 pour le Dimanche. ...

1

blux, le 31 aoû 2007 à 10:32:33

Salut,

pas facile puisqu'une semaine peut être à cheval sur 2 mois...

Plus de précision à donner ?
A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

2

dehollain, le 31 aoû 2007 à 11:22:50
  • +1

La préccision de la mesure est certe important mais pas primordiale.

Pour les semaines à cheval sur 2 mois on ne peut qu'approcher la bonne réponse, une date donnerait une réponse précise mais dans mon cas je ne souhaite qu'approcher la réponse en automatique.

Configuration: Windows XP
Internet Explorer 6.0

Répondre à dehollain

3

blux, le 31 aoû 2007 à 11:34:14

Ben tu fais une division de ton numéro de semaine par 4 (car il y a environ 4 semaines dans un mois) et tu arrondis à l'entier supérieur...

Mais je ne vois vraiment pas l'intérêt...
A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

4

hamziix, le 2 sep 2008 à 01:31:53

Salut molo , ché pa sii sa t'aide mais jpeu te concevoir un pgme quii fé ta requette , soff ke sa sera pa compatible avec Exel , tu para utilisé mon pgme sou windows & copier le resultat MANUELLEMENT ( faire COPIER/COLLER )
sii sa te dis contactes moii sur ma boite : hamza@kaabeche.com
mercii & bon courage molow
...HAMZiiX

Répondre à hamziix

5

lermite222, le 2 sep 2008 à 09:46:18
  • +3

Bonjour,
sais pas si c'est assez simple pour toi mais je n'ai pas trouver de solution plus simple.

Sub Sem_Jour()
Dim Sem As Integer
Dim Jour As Integer
Dim Mois As Integer
Dim D As Long, F As Long
Dim W As Integer
Dim TB
    Sem = 22 'exemple du N° de semaine
    
    TB = Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
    D = DateSerial(Year(Now), 1, 1)
    F = DateSerial(Year(Now), 12, 31)
    TB(1) = TB(1) + ((F - D) - 365)
    W = Weekday(D, vbMonday) 'Lundi=jour 1 de semaine
    Jour = ((Sem - 1) * 7)
    If W < 5 Then Jour = Jour + W - 1
    For Mois = 0 To 11
        W = W + TB(Mois)
        If W > Jour Then Exit For
    Next Mois
    Mois = Mois + 1
    
End Sub

Si tu le voulais par formule tu dit, je la transforemer en fonction.
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)  
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)

Répondre à lermite222

6

magpie, le 11 mai 2009 à 15:58:40

Lermite222 salut,

je cherche comment convertir un numero de semaine en mois.

Cette procédure me semble tout à fait pertinente mais je ne vois pas comment l'utiliser (quoi récupérer).

Est ce que tu peux la transformer en formule, sinon en fonction qui renvoie le numero du mois ?

Merci.

Répondre à magpie

7

 lermite222, le 11 mai 2009 à 18:25:00

Bon, beh aujourd'hui j'ai trouver autre chose
Dans un module général (type Module1 tu colle le code ci-dessous

Public Function SEM_MOIS(Sem As Range) As Integer
Dim NbJours As Integer, D As Long
    Application.Volatile
    If Sem < 1 Or Sem > 52 Then
        SEM_MOIS = "#ERREUR"
        Exit Function
    End If
    D = Weekday("01/01/" & Year(Now), vbUseSystemDayOfWeek)
    NbJours = ((Sem - 1) * 7) - D + 1
    D = DateValue("01/01/" & Year(Now)) + NbJours
    SEM_MOIS = Month(D)
End Function

Et tu l'emploi comme une formule excel
si le N° de la semaine est, par exemple, en C23 tu met dans la colonne D
    =SEM_MOIS(C23)

A+ L'expérience instruit plus sûrement que le conseil. (André Gide)  
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)

Répondre à lermite222