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 :

Insertion date calendrier dans unTextBox [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Points : 217
    Points
    217
    Par défaut Insertion date calendrier dans unTextBox
    Bonjour a toutes et tous, Forum Bonjour

    Je souhaiterai rajouter un quatrième Textbox4 dans mon UserForm1/Frame10 qui aurai pour office de récupérer la date calendrier Ex: Monthview ou DT Picker si pas trop embètant a faire.

    J'ai fait quelques essais avec des bouts de code trouver sur le net et le site mais hélas je n'ai pas réussi a faire ce que je souhaitai, Si a part avoir planter mon excel LOL

    Donc je repars a zéro en postant cette demande.

    Si quelqu'un svp veux bien m'aider sur ce coup la, alors merci beaucoup par avance

    Merci pour votre aide et votre savoir partagé

    Bonne journée a vous tous

    Bien cordialement Ray

    Je verrai ca comme ca, pas sur d'avoir bon

    (1) Je clic dans le Textbox4 qui ferai apparaitre le calendrier

    (2) Je clic sur une date du calendrier qui ira s'afficher dans le Textbox4

    (3) Affichage de la date dans ce format 01/Oct/2013

    (4) Petit test pour bien entrer une date au format souhaiter

    (5) Attribuer la valeur Textbox4 dans une variable
    EX: "UtileDate" = Valeur du Textbox4 que j'utiliserai par la suite pour autre chose

    (6) Puis disparition du calendrier

    Merci

  2. #2

  3. #3
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Points : 217
    Points
    217
    Par défaut
    Bonjour a tous, forum

    Salut rdurupt,

    Merci pour ta réponse et le lien

    j'ai bien regarder, fait pas mal d'essais et je n'arrive a faire ce que je souhaiterai

    j'ai réussi a planter mon excel quand mème

    bonne journée et merci

    Cdlt Ray

  4. #4
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    Voici le genre de truc que j’utilise dans des développements et que j’ai adapté à ton « cahier des charges », hormis qu’il réagit au double clic, mais on peut utiliser l’évènementiel Enter comme précisé dans le code
    Vues utilisateur : Nom : OrmonthData-1.jpg
Affichages : 260
Taille : 69,7 Ko construction USF : Nom : OrmonthData-2.jpg
Affichages : 241
Taille : 69,3 Ko

    Tu noteras :
    - Qu’on utilise un multi-page, ce qui est très simple et permet de jouer sur la propriété Visible des pages pour ne permettre que les actions voulues et l'utiliisateur ne voit qu'une page, cf image.
    - Qu’en bloquant la propriété du TextBox4 Locked à True, l'utilisateur ne peut pas saisir n'importe quoi, seule la valeur du calendrier passera, ça évite l'usine à gaz des séries de contrôles de frappe etc… Il suffit d’initialiser la colonne voulue au format désiré à la base ou de le faire sur une plage donnée par VBA avant l’écriture…
    - Que je ne me sers que du numéro de série des dates pour les différentes opérations, ça évite tout problème d’interprétation code-code et code-feuille et facilite la portabilité.
    Voir ce tuto pour ce qui concerne les dates sous Excel et en VBA.
    - Que le code du coup se résume à peu de chose…
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Option Explicit
     
    Private Sub cmdEcritureDate_Click()
    If TextBox4 <> "" Then 'évite action si vide, pour plus d'ergonomie, on pourrait sinon jouer sur la propriété enabled ou visible du bouton.
        Cells(2, 3) = lngMaDate 'la colonne voulue a été formatée au format date désiré avant en jj/mmm/aaaa (Excel Français)
    End If
    End Sub
     
    Private Sub mlpGestionCritères_Change()
     If mlpGestionCritères.SelectedItem.Index = 1 Then mvwChoixDateSeule.Value = Now 'initialise ton calendrier à la date du jour
    End Sub
     
    Private Sub mvwChoixDateSeule_DateClick(ByVal DateClicked As Date)
     
    TextBox4 = Format(CLng(DateClicked), "dd/mmm/YYYY")
    lngMaDate = CLng(DateClicked)
    With mlpGestionCritères
        .Pages(0).Visible = True
        .Value = 0
        .Pages(1).Visible = False
    End With
    Debug.Print lngMaDate ' si test voulu
    End Sub
     
    Private Sub TextBox4_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    'le TextBox4 a sa propriété Locked à True d'origine, ainsi, l'utilisateur ne peut pas saisir n'importe quoi,
    ' seule la valeur du calendrier passera, ça évite l'usine à gaz de séries de contrôles de frappe
    With mlpGestionCritères
        .Pages(1).Visible = True ' Attention en base 0 !
        .Pages(0).Visible = False
        .Value = 1 '  indique la page active
    End With
    End Sub
     
    Private Sub TextBox4_Enter()
    '    MsgBox "TextBox4 activé" 'le code de l'évènementiel peut se placer ici si on veut
    End Sub
    Vu ce que tu avais demandé, j’ai mis la valeur de la date dans une variable Public, mais la solution dépend du contexte, c’est une piste, c’est tout.

    Pour ce qui est du contrôle Monthview, voir ce lien ainsi que les nombreux sujets qui en traitent sur DVP.
    http://excel.developpez.com/faq/?pag...nstallMSCOMCT2

    voici le classeur : USF Saisie Dates.xls en version 2003, mais fait sous 2013 et OK 2007

    cordialement,

    Didier

  5. #5
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Points : 217
    Points
    217
    Par défaut
    Bonjour a tous , forum bonjour

    Salut Ormonth

    Merci beaucoup pour ta réponse, les infos, les fichiers, les liens.

    j'ai regarder ca de près, je vais donc faire des essais cette après midi

    Juste comment faire sur un clic (si possible) dans mon Textbox4

    un clic pour que j'affiche le MonthView1
    un autre clic pour effacé le MonthView1


    Encore grand merci a toi, bonne journée

    ou plutot un excellent W-end et vu l'heure un bon également

    Bien cordialement Raymond

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

Discussions similaires

  1. [XL-2007] Insertion d’une date calendrier dans un TextBox ou cellule
    Par apt dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/08/2012, 17h03
  2. [MCD] entité date/calendrier dans MCD
    Par le beauceron dans le forum Schéma
    Réponses: 4
    Dernier message: 11/02/2012, 09h37
  3. Réponses: 9
    Dernier message: 28/08/2007, 09h18
  4. [Dates] Calendrier dans une liste déroulante
    Par azeggouar dans le forum Langage
    Réponses: 2
    Dernier message: 20/07/2007, 02h35
  5. pb insertion date dans champs timestamptz
    Par stef74 dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 08/07/2005, 09h06

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