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 :

convertir nom du mois


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut convertir nom du mois
    Bonjour,

    J'ai un classeur contenant des feuilles. Chaque feuille correspond à un mois : "Janvier", "Fevrier", etc....
    par macro, je récupère le nom de la feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A2")=range("A1").currentregion.worksheet.name
    mais ensuite, j'ai besoin de convertir ce nom de mois : par exemple "janvier"=1, "février"=2, etc....

    Pour l'instant, j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if range("A2")="janvier" then mo=1 end if 
    if range("A2")="fevrier" then mo=2 end if
    etc, etc,
    Y-a-t-il une fonction et/ou instruction qui converti directement ?
    (lorsqu'on fait "format de cellule", on peut choisir différent formats de date et/ou de mois, donc je pense que c'est possible.....

    Merci,

    A+

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Pour récupérer le nom de la feuille active, tu peux simplement écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A2") = ActiveSheet.Name
    Pour convertir le nom du mois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A2") = Month("01/" & ActiveSheet.Name)

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Par défaut
    salut

    attention : cette utilisation de Month est subordonnée à un respect absolu du nommage des feuilles en concordance avec l'orthographe des mois, notamment en matière d'accents (février,août, décembre)

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut
    Merci Fring,

    Une fois de plus, tu m'as aidé. J'avais pris un code sur la FAQ et je l'avais modifié (d'où le "Currentregion"), et complètement zappé qu'il y avait plus simple..et logique......

    Merci.

    A+ pour de nouvelles aventures,

    Merci babaothe pour cette précision, le nom des feuilles est en majuscule pour l'instant, et si je vois que le code de Fring (=utilisation de "Month") ne passe pas, je renommerai toutes les feuilles suivant ton conseil.

    A+ pour de prochaines aventures.

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Par défaut
    le plus prudent est peut-être de nommer tes feuilles dynamiquement, soiit au moment de leur création, soit en les renommant ensuite
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("feuil1").Name = MonthName(2)
    nommera en "février" ta feuille "feuil1"
    l'utilisation ultérieure de Month ne se heurtera ainsi à aucun obstacle.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut
    Ok,
    Tu as raison, soyons prudent....
    Je vais faire une boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i=1 to 12
    Sheets("feuil"& i).Name = MonthName(i)
    Next
    histoire de ne pas être embêté par Month.

    Merci,

    A+ pour de prochaines aventures

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

Discussions similaires

  1. [BO 5.1]Affichage du nom du mois
    Par LP-mpascolo dans le forum Designer
    Réponses: 7
    Dernier message: 22/10/2007, 10h05
  2. Réponses: 6
    Dernier message: 06/06/2007, 17h57
  3. [TP] Détection de nom de mois
    Par The future scientist dans le forum Turbo Pascal
    Réponses: 27
    Dernier message: 04/05/2007, 20h35
  4. [ACCESS] Nom du mois à partir d'une date
    Par leloup84 dans le forum Access
    Réponses: 12
    Dernier message: 05/04/2007, 14h41
  5. Réponses: 12
    Dernier message: 31/03/2007, 08h38

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