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 :

Afficher la date d'aujourd'hui dans USF


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 306
    Points : 46
    Points
    46
    Par défaut Afficher la date d'aujourd'hui dans USF
    Bonjour,

    Une question toute simple... mais pour laquelle je n'ai pas trouvé de réponse.
    J'ai un USF avec une TextBox qui doit contenir la date d'aujourd'hui, dont j'ai un premier code (qui ne marche pas) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub TextBox3_Load()
      Dim vDate As Date
      vDate = Format(Now, "dd/mm/yyyy")    'La date doit être au format "27 Mars 2011"
    End Sub
    merci.

  2. #2
    Membre régulier
    Homme Profil pro
    ELECTROTECHNICIEN
    Inscrit en
    Mars 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ELECTROTECHNICIEN
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2010
    Messages : 61
    Points : 84
    Points
    84
    Par défaut
    Bonjour,

    Ça doit suffire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub UserForm_Initialize()
    TextBox1.Value = Date
    End Sub

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 306
    Points : 46
    Points
    46
    Par défaut
    non Il s'agit de mettre une date dans une zone bien précise (non la userform). J'ai opté pour la textBox, mais faut-il un intitulé ??

  4. #4
    Membre régulier
    Homme Profil pro
    ELECTROTECHNICIEN
    Inscrit en
    Mars 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ELECTROTECHNICIEN
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2010
    Messages : 61
    Points : 84
    Points
    84
    Par défaut
    Je n'avais pas vu pour le mois en lettres !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub UserForm_Initialize()
     
    TextBox1.Value = Format(Now, "dd/mmmm/yy") 'mmmm pour le mois en lettre
     
    End Sub

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 306
    Points : 46
    Points
    46
    Par défaut
    marche pas

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Citation Envoyé par logiclogic Voir le message
    marche pas
    Qu'est-ce qui ne marche pas ? Un message d'erreur ?

    Le nom de la zone de texte est peut-être à changer, non ? par rapport à l'exemple que t'a donné chyanon.

    Philippe

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 306
    Points : 46
    Points
    46
    Par défaut
    Bonjour, merci. Message d'erreur et pas message d'erreur... en plus clair : voici le code, placé dans le USF. J'ai donné un Name au USF ("Formulaire"), donc, je le remplace dans "private..."

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Formulaire_Initialize()
    TextBox3.Value = Format(Now, "dd/mmmm/yy") 'mmmm pour le mois en lettre 
    End Sub
    En exécutant, un (nouveau) message d'erreur apparaît : "Erreur de compilation : Nom ambigu détecté : Formulaire_Initialize"
    Nouveau car les premières fois, il n'y avait pas ce message, mais le formulaire s'affichait sans qu'il y ait de date dans le TextBox3.

    Votre code me paraît un peu anormal : (Now, "dd...) ??? (désolé Chyanon)

    + Il y a aussi un autre Private Sub Formulaire_Initialize() dans le USF et de même en exécutant à son niveau, le même message apparaît.

    Où se situe ce problème de compilation ??? merci xD

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 921
    Points : 28 907
    Points
    28 907
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Peu importe le nom de la UserForm, la procédure événementielle doit être
    Votre code me paraît un peu anormal : (Now, "dd...) ??? (désolé Chyanon)
    Il n'y a rien d'anormal. Now donne la date et l'heure du système et Date ne donne que la date, le formatage est valable pour les deux fonctions.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Points : 350
    Points
    350
    Par défaut
    Bonjour,

    Citation Envoyé par logiclogic Voir le message
    + Il y a aussi un autre Private Sub Formulaire_Initialize() dans le USF ...
    Problème : tu ne peux pas avoir 2 procédures ayant le même intitulé
    dans un Module !

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 306
    Points : 46
    Points
    46
    Par défaut
    ca ne marche pas non plus ; j'ai remplacé le textbox par label, et non plus. je vous prépare un fichier exemple. a+

    Voici le fichier. Plusieurs voies de réflexion :

    1) C'est un USF non un module ? Faut-il ajouter un module, en mettant dans le USF : exécuter le module, à l'ouverture du USF (j'associe au USF un bouton dans le fichier Excel, placé dans un groupe personnalisé dans l'onglet Accueil).
    Comment ??

    RQ : j'ai pu créer le groupe personnalisé, mais comment faire pour la commande ??? Je travaille sous XLS 2010, et je ne trouve pas. Sous XLS 2003, c'était aussi dans la même boîte de dialogue que pour la création de menu ("groupe perso" n'existait pas).

    2) Peut-on par une fonction qui calcule un intervalle de temps ? Ici, en jouant un peu sur la fonction, par exemple : AUJOURD'HUI - AUJOURD'HUI = AUJOURD'HUI, on crée donc une fonction neutre qui sert de

    3) Est-il possible que cela une procédure de type FORMAT mais contenu dans la déclaration de la procédure ? Peut-on avoir un Public, puisqu'il s'agit d'une procédure "standarde" c'est-à-dire qui se déclenche à l'ouverture de l'USF ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Public Sub TextBox1_format()
        TextBox1.format = format(Now, "dd/mmmm/yy")
    End Sub
    4) Enfin, peut-on écrire un code sur le USF mais lié à aucune commande, uniquement l'ouverture de l'USF lors de son appel par le bouton de commande sur la feuille Excel.

    Question : un USF a-t-il "accès direct" à l'horloge système ? Comment ? par la fonction bien sûr mais il ne s'agit pas d'une boîte de dialogue qui s'affiche mais une date qui apparaît dans un contenant (label ou textbox ancré sur le USF)

    Désolé si je mélange un peu de tout.... Je vous donne quelques pistes, car je ne vois pas la solution...

    Le fichier ne s'envoie pas, c'est un XLSM. J'ai enregistré sous XLS 97-2003.
    bonne chance, une question simple mais un vrai petit-casse tête!!!
    Fichiers attachés Fichiers attachés

  11. #11
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonsoir,
    recopies simplement ce code dans l'éditeur VBA, et dans l'USF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub UserForm_Initialize()
    Label1 = Format(Now, "dd/mmmm/yy")
    'ou pour le textbox
    TextBox1 = Format(Now, "dd/mmmm/yy")
    End Sub

  12. #12
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 921
    Points : 28 907
    Points
    28 907
    Billets dans le blog
    53
    Par défaut Correction sur liens (doublon)
    Bonsoir,
    J'ai regardé ton code VBA.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub Label1_Initialize()
        Label1.Value = Format(Now, "dd/mmmm/yy")
    End Sub
    Private Sub TextBox1_Initialize()
        TextBox1.Value = Format(Now, "dd/mmmm/yy")
    End Sub
    Dans un UserForm
    1) Il n'y a pas de procédure événementielle Initialize autre que le UserForm lui même
    2) Il n'y a pas de propriété Value dans un Label
    Le code ci-dessous t'affichera la date comme valeur dans le TextBox et comme Caption dans ton Label mais j'imagine que cette date ne doit pas se trouver dans ces deux objets
    A toi de faire ton choix.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub UserForm_Initialize()
     TextBox1.Value = Format(Now, "dd/mmmm/yy")
     Label1.Caption = Format(Now, "dd/mmmm/yy")
    End Sub
    Je te conseille la lecture d'un bon didacticiel sur l'utilisation de UserForm et celui-ci avant de continuer.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 306
    Points : 46
    Points
    46
    Par défaut
    merci! je vais essayer. Je me suis appuyé sur ce tutoriel...

Discussions similaires

  1. Date d'aujourd'hui dans un champ
    Par 13GIBE59 dans le forum WinDev
    Réponses: 8
    Dernier message: 11/02/2013, 17h56
  2. [XL-2010] reprendre les dates d'aujourd'hui dans un tableau
    Par Naoned005 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/06/2012, 12h06
  3. Réponses: 7
    Dernier message: 23/09/2010, 23h53
  4. [AC-2007] Insérer la date d'aujourd'hui dans un état
    Par glooping dans le forum IHM
    Réponses: 1
    Dernier message: 29/09/2009, 10h25
  5. [MySQL] Afficher les enregistrement de la date d'aujourd'hui
    Par rane dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 23/10/2007, 19h48

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