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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé 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
    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 : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Pour la deuxième, dans la cellule cette formule:
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Membre confirmé 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
    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
    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 confirmé 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
    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 chevronné
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    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
    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 chevronné
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    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 confirmé 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
    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

+ 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