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 :

Générateur d'un code en fonction de la date. [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 4
    Par défaut Générateur d'un code en fonction de la date.
    Bonjour !
    Voilà, je suis actuellement en train de patoger dans le VBA et j'aurais eu besoin d'un petit coup de main !
    Je m'explique, je souhaite créer une méthode permettant de générer un code à 8 caractères et cela par rapport à la date du jour. Pour ensuite l'intégrer à une cellule, ce code servira de référence.
    Le code serait former de la façon suivante : Nous sommes, aujourd'hui, le vendredi 30/05/2014. <===RÉSULTAT===> ve300514

    Voici ce que j'ai réussi à faire :
    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
    Function Code() As String
     
        'Now renvoie la date et l'heure en cours (07.05.2014 09:09:02)
        Date = Now()
     
        Chaine = Format(Date, "dddd") 'Renvoie : vendredi
        Chaine2 = Format(Date, "dd") 'Renvoie : 07
        Chaine3 = Format(Date, "mm") 'Renvoie : 05
        Chaine4 = Format(Date, "aaaa") 'Renvoie :  2012
     
    Morceau1 = Left(Chaine, 2) ' la on prends les 2 premiers caracteres ( = ve )
    Morceau2 = Left(Chaine2, 2) ' ( = 07 )
    Morceau3 = Left(Chaine3, 2) ' ( = 05 )
    Morceau4 = Mid(Chaine4, 2, 2) ' ( = 14 )
     
    Code = Morceau1 + Morceau2 + Morceau3 + Morceau4 ' Permet de récupérer un code => ve070514
    MsgBox Code
    End Function
    Mais je suis confronter à deux problèmes. Le premier est que je n'arrive pas à appeler ma fonction dans une cellule quelconque, j'arrive uniquement à le lancer dans une fenêtre.
    Mon deuxième problème est que le script me donne les 6 premiers et bons caractères, mais pour les deux derniers, ceux de l'année, impossible de les afficher, il me laisse "aa".

    Voilà ! Je suis novice en VBA donc je ne sais pas si je m'y suis bien pris pour réaliser ce que je voulais, c'est pourquoi j'appelle à l'aide.

    PS : C'est mon premier post sur ce forum, en espérant avoir apporter tous les détails nécessaires ! N'hésitez pas à me réprimander ! x)

    Cordialement,
    Matthio.

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    voici une p'tite démonstration :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function CodeDate$()
             CodeDate = Left$(Format$(Date, "ddd"), 2) & Format$(Date, "ddmmyy")
    End Function
     
     
    Sub Demo()
        MsgBox CodeDate
    End Sub
    _______________ _____________________________________ _____________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 4
    Par défaut
    Mon dieu...
    Suis-si nul ? x)

    Merci beaucoup pour cette réponse rapide claire et précise !

    Cordialement,
    Matthio.

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

Discussions similaires

  1. [Dates] mettre un code en fonction de la date
    Par mike_28 dans le forum Langage
    Réponses: 6
    Dernier message: 22/05/2008, 08h54
  2. Code pour fonction personalisée RECHERCHEV inverse
    Par victorzecat dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 18/12/2007, 23h07
  3. Comment éditer du code en fonction des flags de precompilation ?
    Par laurenttlse dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 23/10/2007, 10h05
  4. Réponses: 1
    Dernier message: 06/08/2007, 22h46
  5. [C#] Migration de code VB - Fonction CreateObject
    Par Agoye dans le forum ASP.NET
    Réponses: 2
    Dernier message: 26/06/2006, 15h23

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