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 :

Extraire le Mois d'une date jour/mois/année [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 87
    Points : 38
    Points
    38
    Par défaut Extraire le Mois d'une date jour/mois/année
    Bonjour,

    J'ai un tableau de données comportant une colonne Date. Celle-ci est sous la forme jj/mmm/aaaa.

    Je souhaite créer un tableau croisé dynamique avec pour champ de colonne uniquement les mois.

    Je ne sais pas comment y parvenir car lorsque je créé le tableau croisé dynamique automatiquement, si j'ai les dates 3 octobre 2009 et 10 octobre 2009, ces dates apparaissent dans le tableau croisé dynamique et le mois d'octobre apparait donc deux fois ce qui ne va pas du tout.

    Comment puis-je régler ce problème?
    Est-il possible quand on a une date, d'en extraire le mois?

    Merci!

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Month(TaDate) en vba

    ou seulement menu contextuel TCD et grouper (sur ton champs date)

  3. #3
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,


    Pour extraire le mois d'une date

    En formule


    Bon courage

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 87
    Points : 38
    Points
    38
    Par défaut Il me faut aussi l'année et le mois sous la forme mmm et pas un nombre
    En fait il me faudrait aussi extraire l'année... car mes données s'étalonnent sur plusieurs années donc j'en ai besoin pour le tableau croisé dynamique.
    Il faudrait que j'ai mmm/aa.

    Par ailleurs, le problème avec ou , c'est que j'obtiens un nombre pour le mois et il me le faudrait en mmm, exemple Sept., Oct. ...
    Quand je change le format de date pour avoir le mois, il me met toujours que c'est le mois de janvier 1900.

    Je ne sais pas du tout comment faire.

    J'ai eu une autre idée. Explication:
    J'ai fait une colonne Jour et une colonne Mois/Année dans mon tableau initial pour la date, comme ça pour le tableau croisé c'est bon.
    Sauf que cette date, j'en ai besoin pour la soustraire à une autre date. Donc je souhaite la remettre sous la forme jj/mm/aa dans une autre colonne.
    J'ai donc écris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C1") = Range("A1") & "/" & Range("B1") 'A contient le jour, B contient le mois et l'année.
    Sauf que ça ça me donne une date du style jj/01/mm/aa. Je veux enlever le 01, comment faire?

    Helpppppp!

  5. #5
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Bonjour,
    vu ton problème initial: Grouper tes données sera plus facile (cela existe déjà ds excel)

    par enrgistreur de macro sous cette forme (à adapter):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Selection.Group Start:=True, End:=True, Periods:=Array(False, False, False, False, True, False, False)
    pour le deuxième point: il faut faire différence entre le format affiché par rapport au contenu de la variable:
    le 20/02/2006: la valeur de la variable visualisée sous la forme "mmm aa": févr 06


    le Month(TaDate) te donne le numéro du mois de TaDate
    à toi de décider

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 87
    Points : 38
    Points
    38
    Par défaut Selection.Group
    Bonjour,

    Je ne comprends pas comment fonctionne Selection.Group.

    Si j'ai
    colonne A : le jour
    colonne B : le mois et l'année

    que dois-je écrire pour avoir jour/mois/année dans une autre colonne?

    Désolée je débute en VBA...
    Merci beaucoup.

  7. #7
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Ci dessous un bout de code avec l'instruction pour avoir le nom d'un mois

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Range("A1").value=day(now)
    Range("B1").value=MonthName(Month(Now)) & "/" & year(now)

  8. #8
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Tu as ton TablCroisDyn
    sur tes lignes les dates jj mmmm aaaaa

    tu clic droit sur l'une des dates
    menu contextuel: grouper
    ... tu choisi la période de groupement!!

    Pour avancer il faut essayer, n'aie pas peur de ça

    lisant ton premier poste, c'est plus simple de grouper directement dans ton TCD au lieu de scinder des dates en colonnes et de les rassembler ensuite pour faire des comparaisons.

    Il n'est jamais mauvais d'essayer

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 87
    Points : 38
    Points
    38
    Par défaut Merci à tous
    et merci pour les conseils

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

Discussions similaires

  1. [XL-2003] Extraction et recopie du jour/mois d'une date jour/mois/année
    Par iIncoming dans le forum Excel
    Réponses: 2
    Dernier message: 02/07/2013, 17h54
  2. [ODBC] problème inversion jour mois dans une date
    Par toutoutahtouha dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 22/08/2011, 11h15
  3. Réponses: 5
    Dernier message: 20/02/2007, 17h52
  4. Extraire le jour et le mois d'une date
    Par viny dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 27/12/2006, 19h35
  5. [Dates] jour, mois d'une date en Français
    Par Ismail dans le forum Langage
    Réponses: 1
    Dernier message: 01/12/2006, 22h30

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