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 :

conversion format date en mois


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 6
    Par défaut conversion format date en mois
    Bonjour,

    je suis débutant dans la programmation VBA excel donc je sollicite votre soutien.

    Voici ma question:

    j'ai des dates en formats "jj/mm/yyyy") et je voudrai que le code parcourt la colonne qui peut etre de longueur variable, et à chaque fois qu'il me converti la date trouvé en format "mois" = "janvier" par exemple ainsi de suite et me l'affiche

    Merci d'avance!

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Tu peux utiliser la propriété NumberFormat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Explicit
    Sub Convertir()
    Dim DerLig As Long
    Dim Cel As Range
        With Worksheets("Feuil1") 'Nom de feuille à adapter
            DerLig = .Range("A" & .Rows.Count).End(xlUp).Row
            'Convertir les dates de la colonne A
            For Each Cel In .Range("A1:A" & DerLig)
                Cel.NumberFormat = "dd mmmm yyyy"
            Next
        End With
    End Sub
    Cordialement

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

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Si le but est d'afficher le mois à la place de la date, il serait plus simple de modifier le format de la colonne.

    Pour le code (Faire une copie de ton fichier avant de lancer car la date sera remplacé par le nom du mois)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim i As Long
     
    With Sheets("Feuil1")
        For i = 1 To .Range("A" & Rows.Count).End(xlUp).Row
            If .Range("A" & i).Value <> "" Then .Range("A" & i).Value = MonthName(Month(.Range("A" & i).Value))
        Next i
    End With

  4. #4
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    tu ne dis pas is ta colonne ne contient que des dates ou non, si ce n'est pas le cas il faut la parcourir cellules par cellules comme indiqué précédemment, la fonction IsDate peut aider alors

    Si tu ne veux pas perdre la date originale détaillée, le plus simple est d'appliquer aux cellules voulues le format suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cells(x,y).NumberFormat = "mmm"
    Pour l'exploiter ensuite en VBA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    activecell.Value 'retournera 16/05/2012 par exemple
    'et
    activecell.Text 'retournera  mai 
    'pour la même cellule dans le format indiqué
    Si ta colonne entière est en dates, il suffit d'appliquer le format à toute la colonne.

    Cordialement,

    Ps : si le côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue, et chaque action vous rapporte des points

    Didier

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 6
    Par défaut Merci
    Oui Merci beaucoup en effet
    j'ai utilisé le clique droit format cellule date aprés avoir mis le mode enregistrement macro.
    Super pour vos coup de pouces!

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

Discussions similaires

  1. conversion format dates
    Par NATOU2 dans le forum VBA Access
    Réponses: 7
    Dernier message: 23/01/2008, 10h02
  2. Conversion format Date
    Par toune84 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 09/12/2007, 20h23
  3. CONVERSION FORMAT DATE SPECIAL
    Par plutonium719 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 02/11/2007, 09h49
  4. [MySQL] Tri sur champ au format date - uniquement mois/année
    Par skippy86 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 04/01/2007, 11h27
  5. Conversion format Date
    Par Swaks dans le forum DB2
    Réponses: 1
    Dernier message: 09/11/2006, 14h55

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