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 date personnalisé


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué Avatar de Chewi
    Étudiant
    Inscrit en
    Août 2006
    Messages
    180
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 180
    Points : 138
    Points
    138
    Par défaut Excel format date personnalisé
    Bonjour à tous.

    Je voudrais savoir s'il y a moyen de créer un format de date où une lettre de l'alphabet remplacerait la date du jour.
    Par exemple pour les mois: janvier=A, février=B, etc

    Deuxième question, y a t'il moyen de donner un format avec la valeur actuelle - 1. Ex: Si on est le 17, afficher 16/11/2006 ?

    Je reconnais que c'est assez spécial.

    Je vous remercie grandement pour l'aide que vous allez m'apporter.

    Chewi

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Pour la deuxième, dans la cellule cette formule:

  3. #3
    Membre habitué Avatar de Chewi
    Étudiant
    Inscrit en
    Août 2006
    Messages
    180
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 180
    Points : 138
    Points
    138
    Par défaut
    Bonjour et déjà merci AlainTech,

    Pour la première question, je voudrais qu'excel me propose automatiquement la lettre correspondant au mois en cours.

    Quelque chose du genre: "Si mm=12 ; date = 05 L 06" où L équivaut à decembre par exemple.

  4. #4
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    Tu vas devoir faire ta macro si tu veux avoir ça.
    Mais je ne comprends pas "L". C'est en quelle langue ?

    Ce que tu peux faire c'est
    msgbox Ucase(left(format("2006/12/05","mmmm"),1)) pour avoir D, mais pas L

  5. #5
    Membre habitué Avatar de Chewi
    Étudiant
    Inscrit en
    Août 2006
    Messages
    180
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 180
    Points : 138
    Points
    138
    Par défaut
    Oui oui pas de problème pour une macro.
    Je m'exprime mal quand je parle de proposition automatique d'excel.

    L [El]. n. m. ou f. Douzième lettre et neuvième consonne de l'alphabet, servant à transcrire une consonne constrictive sonore, dentale, latérale.

    Par contre, je ne comprend pas trop le fonctionnement de ta MsgBox

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Points : 451
    Points
    451
    Par défaut
    En fait, il veux juste remplacer le mois :
    - 01 (janvier) par A
    - 02 (février) par B
    - ...
    - 12 (décembre) par L

    Ainsi une date : 25/11/06 s'écrirait 25 K 06
    Je pense que tu peux t'inspirer du code Ascii :
    Ainsi : A...Z = 65-90
    et a...z = 97-122
    Donc si ton mois m est 11, tu as : Et ta date s'écrirait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Day(Date) & " " & Chr(Month(Date) + 64) & " " & Year(Date)

  7. #7
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    Tu peux aussi faire un truc comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        LaDate = "05/12/2006"
        LeMois = Array("", "B", "C", "D", "G", "H", "J", "K", "L", "N", "Q", "R", "S")
        MsgBox LeMois(Month(LaDate))
    Tu dis parce que je n'ai pas compris la même chose que dadavyvy

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Points : 451
    Points
    451
    Par défaut
    T'as raison ouskel'n'or, ta méthode est plus générale, car au lieu de remplacer les mois 1 à 12 par les lettres A à L, tu peux les remplacer par ce que tu veux...

  9. #9
    Membre habitué Avatar de Chewi
    Étudiant
    Inscrit en
    Août 2006
    Messages
    180
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 180
    Points : 138
    Points
    138
    Par défaut
    Re,

    Que dites-vous de ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub aujourdhui()
     
        Range("A2").Select
        ActiveCell.FormulaR1C1 = "=TODAY()-2"
        Range("A3").Select
        ActiveCell.FormulaR1C1 = "=TODAY()-1"
        Range("A4").Select
        ActiveCell.FormulaR1C1 = "=TODAY()"
        Range("A5").Select
        ActiveCell.FormulaR1C1 = "=TODAY()+1"
        Range("A6").Select
        ActiveCell.FormulaR1C1 = "=TODAY()+2"
        Range("B2").Select
        ActiveCell.FormulaR1C1 = _
            "=LEFT(TEXT(RC[-1],""jj mm aa""),2)&"" ""&CHOOSE(MONTH(RC[-1]),""A"",""B"",""C"",""D"",""E"",""F"",""G"",""H"",""I"",""J"",""K"",""L"")&"" ""&RIGHT(TEXT(RC[-1],""jj mm aa""),2)"
        Selection.AutoFill Destination:=Range("B2:B6"), Type:=xlFillDefault
        Range("B2:B6").Select
     
    End Sub
    Cette macro regroupe mes deux questions.

    Bien à vous,

    Chewi

  10. #10
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Juste qu'il faudrait essayer d'éviter les Select.
    De plus, inutile d'ajouter R1C1 à Formula si tu ne fais pas de références.
    Petit exemple de code plus compact:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub aujourdhui()
     
        [A2].Formula = "=TODAY()-2"
        [A3].Formula = "=TODAY()-1"
        [A4].Formula = "=TODAY()"
        [A5].Formula = "=TODAY()+1"
        [A6].Formula = "=TODAY()+2"
        [B2].FormulaR1C1 = _
            "=LEFT(TEXT(RC[-1],""jj mm aa""),2)&"" ""&CHOOSE(MONTH(RC[-1]),""A"",""B"",""C"",""D"",""E"",""F"",""G"",""H"",""I"",""J"",""K"",""L"")&"" ""&RIGHT(TEXT(RC[-1],""jj mm aa""),2)"
        [B2].AutoFill Destination:=Range("B2:B6"), Type:=xlFillDefault
        Range("B2:B6").Select
     
    End Sub

  11. #11
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    Épi j'ajoute que ta solution ne correspond pas à ta question
    Mais bravo quand même

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

Discussions similaires

  1. [AC-2007] Import fichier Excel format date
    Par lucas-18 dans le forum IHM
    Réponses: 1
    Dernier message: 14/07/2014, 21h39
  2. Import Excel format date nom reconnu
    Par slachromana dans le forum SAS Base
    Réponses: 2
    Dernier message: 11/07/2013, 09h56
  3. Import Donnees Excel & Format date
    Par patrickthierry dans le forum Langage SQL
    Réponses: 1
    Dernier message: 02/08/2009, 14h30
  4. Format date dans excel
    Par fmris dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/11/2006, 10h06
  5. [ADO.Net][VSTO][VBNet 2.0]Quel est format Date null Excell ?
    Par pat59 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 30/03/2006, 11h27

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