IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[Excel]format MOIS


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 26
    Par défaut [Excel]format MOIS
    Bonjour,

    sous excel j'ai un tableau avec comme données connues:
    une date (12/03/206), des N° de semaine( 11,12,13,...) et des jours ( lun,mar,...).
    A partir des ces informations je souhaite retrouver le mois ( en format mar,avr,...) en fonction des différentes semaines.
    Est ce possible avec les fonctions définies dans EXCEL?
    Si oui quelle méthode dois je appliquer?
    Si non quelle est la solution de contournement?

    Merci d'avance

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    voir instruction format :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    format("12/03/2006","mmmm")

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Bienvenue sur le forum
    Peux-tu exposer mieux ton problème ? Si tu as la date, la solution donnée par bbil devrait te suffire. Sinon, si tu n'as que le N° de semaine et le jour de la semaine en toutes lettres, tu nous dis.
    Si ton problème est réglé, tu as le bouton en bas et gauche de la fenêtre.

    A+

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 26
    Par défaut
    Message suite,
    Pour faire simple et essayer d'éclaissir ma question:
    Comment peut on retrouver le mois à partir d'un N° de semaine et le jour de cette même semaine.
    EXEMPLE:
    pour la semaine :20 et les jours (Lun,mar,mer) quel est le mois correspondant? je considere que l'année est toujours 2006 et que je part d'une date connue (03/03/2006).

    merci à vous

  5. #5
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut Re: format MOIS avec EXCEL
    Citation Envoyé par heliconet
    Bonjour,

    sous excel j'ai un tableau avec comme données connues:
    une date
    (12/03/206), des N° de semaine( 11,12,13,...) et des jours ( lun,mar,...).
    A partir des ces informations je souhaite retrouver le mois ( en format mar,avr,...) en fonction des différentes semaines.
    Est ce possible avec les fonctions définies dans EXCEL?
    Si oui quelle méthode dois je appliquer?
    Si non quelle est la solution de contournement?

    Merci d'avance
    Ne disais-tu pas connaître la date dans ton 1er post ?

  6. #6
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    l'année est toujours 2006 et que je part d'une date connue (03/03/2006).
    = calcul purement arithmétique :
    1) nb1= 7 x n° de semaine (connu par définition)
    2) a quelle date_cherchée correspond nb1 telle que la différence entre cette date et 01/01/2006
    = nb1 jours
    3) quel est le mois ce cette date ?
    et je ne vois pas, là dedans, à quoi sert la date de référence (03/03/2006) qu'on peut totalement ignorer...

    pour être plus précis en 2):

    si nb1 = datecherchée(série) - date(série) de 01/01/2006 ===>> dateacherchée(série) = nb1+ date(série) de 01/01/2006
    donc datecherchée(normale) = correspondance de datecherchée(série)

    il suffit maintenant d'ajuster cette date (maximum puisque calculée sur la nase de semaines complètes) au jour_semaine connu (également par définition) car une même semaine peut être "à cheval" sur 2 mois. Pour y parvenir : une boucle disant :

    Tant que le jour_semaine de daterecherchée différent de jour_semaine_connu ==>> daterecherchée = daterecherchée - 1 jour

    Terminer en extrayant le mois de daterecherchée

    je te laisse faire l'effort de transformer cela en syntaxe "normale"....

  7. #7
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonsoir

    j'espere que cet exemple pourra t'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     'adapté de Daniel Maher, mpfe
    Dim Annee As Integer, Semaine As Integer, Jour As Integer
    Dim Cible  As Date
     
    Semaine = 11
    Annee = 2006
    Jour = 0 'Lundi= 0 , Mardi=1 , Mercredi=2 ...et...
    Cible = DateSerial(Annee, 1, 3) - Weekday(DateSerial(Annee, 1, 3)) - 5 + (7 * Semaine) + Jour
    MsgBox Format(Cible, "mmmm") 'Format(Cible, "dddd dd mmmm yyyy")
    'autre possibilité
    MsgBox MonthName(Month(Cible))

    bonne soiree
    michel

  8. #8
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Hum...
    Et début 2007, quand personne n'aura pensé à changer l'origine, il faudra se creuser la tête pour retrouver pourquoi ça ne marche plus...
    Ça me paraît dangereux, comme solution, Oukel'n'or.
    Tu ne crois pas?

  9. #9
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    pour mettre tout le monde d'accord : il n'y aura pas de début 2007 car :

    l'année est toujours 2006

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 26
    Par défaut
    Message suite,
    Merci à vous qui m'avez apporté une aide.

    Vos propostions impliques de passer par VB. Je pensais qu'il pouvait exister une macro prédéfinie d'EXCEL du style :
    MOIS.SEM(ANNEE;SEMAINE,JOUR) et avec le format cellule="mmm" ainsi j'avais la réponse.
    Cela n'est donc pas aussi immédiat, donc à defaut je vais appliquer vos conseils et me rendre compte du résultat.
    Salut

  11. #11
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonsoir

    sur le meme principe que précédemment , par formule :

    en parametres :
    L'annee dans la cellule A1
    Le numéro de semaine dans la cellule A2
    L'index du jour dans la cellule A3 : 'Lundi= 0 , Mardi=1 , Mercredi=2 ...etc...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =TEXTE(DATE(A1;1;3)-JOURSEM(DATE(A1;1;3))-5+(7*A2)+A3;"mmmm")


    bonne soiree
    michel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Excel] Formater du texte en nombre
    Par Isa31 dans le forum Excel
    Réponses: 4
    Dernier message: 02/03/2006, 15h48
  2. verrouiller excel, format mot de passe
    Par ston dans le forum Access
    Réponses: 3
    Dernier message: 15/02/2006, 12h07
  3. [excel] format de cellule
    Par alpachico dans le forum Excel
    Réponses: 5
    Dernier message: 28/07/2005, 10h09
  4. Création de date - pb format mois
    Par mcousse dans le forum Oracle
    Réponses: 3
    Dernier message: 18/07/2005, 17h11
  5. [VBA] Access-> Excel Format de cellule
    Par toflofr dans le forum VBA Access
    Réponses: 19
    Dernier message: 31/07/2003, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo