Insertion d'une date calendrier dans Textbox

Résolu
dudulleray -  
 dudulleray -
Bonjour a toutes et tous, Forum Bonjour

Excel 2007 - VBA Windows 7

Je souhaiterai rajouter un quatrième Textbox4 dans mon UserForm qui aurai pour office de récupérer la date calendrier Ex: Monthview ou DT Picker

Je vois ca comme ca.

(1) Je clic dans le Textbox4 qui fera 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 que j'utiliserai par la suite
(6) Puis disparation du calendrier

J'ai fait quelques essais avec des bouts de code trouver sur le net mais hélas je n'ai
pas réussi a faire ce que je souhaitai 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, alors merci beaucoup par avance

Merci pour votre aide et votre savoir partagé

Bonne journée a vous tous

Bien cordialement Ray

7 réponses

  1. dudulleray
     
    Salut Zoul67

    Merci pour ta réponse, j'ai essayer le code que tu me propose mais
    ca marche pas

    dès que je clic dans la textbox4 Excel redemarre comprends pas pourquoi

    puisque j'ai déja 3 autres textboxs et ca fonctionne tres bien.

    Merci a toi

    bonne après midi

    Cdlt Ray
    0
    1. Zoul67 Messages postés 2001 Statut Membre 149
       
      Re,

      Peux-tu fournir ton fichier dans la version qui "marche pas" sur https://www.cjoint.com/ ?

      A+
      0
    2. dudulleray
       
      Merci a toi
      je vais voir pour te faire une version de mon fichier sans infos de compta perso.
      te fait ca dans l'après midi entre deux chantiers LOL
      toutefois dans initialize userform je n'ai rien de déclarer et le textbox4 est dans l'Userform/Frame10

      Cdlt
      Ray
      0
  2. dudulleray
     
    Re Salut Zoul67

    voici le lien du fichier
    http://www.cjoint.com/?3JrpLWfDJ09

    Le Textbox4 se trouve dans l'userform / Frame10 a coté du label bleu ecrit (Expiration C-B) en bas a gauche en Gris.

    Dans l'UserForm, des codes en courts d'essai sont mis en remarque SAUF le code du TexTbox4 celui du lien que tu m'a proposer tout a l'heure.

    Merci a toi bon courage, je suis a ta dispo.

    je suis ca de près

    Bien cdlt Ray
    0
    1. Zoul67 Messages postés 2001 Statut Membre 149
       
      Toutes ces couleurs dans ton UserForm et dans la feuille Excel m'ont donné mal au crâne...
      Je n'avais jamais vu un UserForm avec autant de contrôles. Est-ce vraiment exploitable ?

      En supprimant quelques objets, ça ne plante plus. Il semblerait qu'il y ait une limite au nombre d'objets dans un UserForm ( https://www.excel-downloads.com/threads/listview-userform-memoire-insuffisante.172354/ ) mais ça n'explique pas pourquoi il se charge et qu'il plante seulement après.
      Les Frames sont à manier avec précaution : TextBox4_Exit ne s'active pas car - je pense - un contrôle peut être actif dans chaque Frame.
      Toutes les cellules dans le UserForm ne sont-elles pas une recopie de la feuille Excel ? Ce serait gérable en tant qu'objet et allégerait le code...
      0
    2. dudulleray
       
      Re

      Tout d'abord merci d'avoir pris le temps de regarder mon programme

      Désolé pour les couleurs, j'ai un écran 22" et ca passe bien, aussi une question d'habitude
      j'ai vu plusieurs UserForms (8) avec encore plus de controls que moi et ca marchait très bien
      et des codes a tapisser la salle a manger LOL

      d'ailleurs pour mon cas, un gars m'a confirmé que c'était parfaitement gérable grace notamment avec des modules de classe

      chez moi il fonctionne très bien, très rapide aussi, bon j'ai un bon PC aussi ca compense surement

      Toutes les cellules dans le UserForm ne sont-elles pas une recopie de la feuille Excel
      OUI effectivement c'est excatement ca ET je ne gère pratiquement rien a partir de l'UserForm
      ce n'était pourtant pas ce que je voulais faire mais par contre je voulais tout gérer avec l'userform

      On m'a mal aiguiller quand j'ai commencer ce programme.

      n'étant pas plus férer que ca en VBA je me vois très mal de refaire seul le programme et je ne pense pas trouver quelqu'un qui aurai le courage de reprendre tout le code, un magicien peut etre LOL

      moi je peux en tant que retraité j'ai beaucoup de temps de libre mais tout seul il va me falloir une deuxième vie.

      Alors bilan que fait 'on

      une autre possibilité est'elle envisageable ???

      A plus tard au plaisir de te relire et merci

      Raymond
      0
    3. Zoul67 Messages postés 2001 Statut Membre 149
       
      Pour la TextBox, à part tenter de la remplacer par 3 Listbox (jour, mois, année), je ne vois pas.

      Par rapport à la recopie des données dans chaque label (la mise à jour se fait rapidement à l'ouverture du UserForm, c'est vrai, mais pour placer tous les labels à la main, les renommer... pfioulala), j'aurais penché pour une solution de ce genre : https://stackoverflow.com/questions/13527540/how-to-display-part-of-excel-on-vba-form (recopie dans un UserForm d'un morceau de tableau)

      Pour re-conceptualiser le tout, il y a peut-être moyen de s'arranger... Sans vouloir faire d'ingérence dans ta comptabilité, quel est le but du fichier (et pourquoi me semble-t-il si compliqué :-) )?
      0
  3. dudulleray
     
    Re

    J'avais fait une petite compta juste sur une feuille excel, puis commencant a me débrouillez en VBA, j'ai améliorer la compta.

    puis j'ai vu lors de recherche sur le net un modèle fait avec un UserForm c'était bien sympa, alors je me suis lancer dans la création de l'USF et voila

    pensant controler ou piloter la compta a partir uniquement de l'USF, c'était mon idée première et c'est plus joli que la feuil d'excel.

    pour coder tout ca, j'ai demander de l'aide dans divers forum, alors avec des avis très divers

    Maintenant je me débrouille pas trop mal, du moins j'essai car j'aime bien programmer

    Pour faire l'USF m'a pris une bonne après midi mais j'avais dessiner la présentation

    le but du fichier est ma compta perso simple, gérer CB chéque retrait et les dépenses du mois, rien de complexe

    pourquoi si compliquer, c'est parce que j'aime bien apporter pleins de petits plus gadjets qui embellise la présentation, l'automatisme des quelques calculs etc etc

    dont pleins que je pourrai me passer, avant c'était la cahier gomme crayon, temps pour les comptes 5 minutes maxi

    mais tripoter l'ordi le programme modifier la programmation ca me plait

    mais suis bien conscient aussi qu'il ne faut pas que ca rame non plus.

    pour la présentation j'ai la patience t'inquiéte pas

    voila si tu veux savoir autre chose demande

    dispo jusqu'a 20h tous les jours après j'arrete déja beaucoup de micro tous les jours

    merci pour tes infos je vais regarder ca pour en savoir davantage

    PS facher avec l'anglais mais avec les traducteurs je m'en sors quand mème

    a plus tard

    Raymond
    0
    1. Zoul67 Messages postés 2001 Statut Membre 149
       
      Bonjour Raymond,

      Je me suis mal exprimé... Ton fichier te sert-il à constater (comme un extrait de compte avant l'heure) ou à te projeter ?
      Sur la pratique de la compta personnelle, il y a autant d'avis que de personnes. Pour ma part, je ne vérifiais que mes extraits de compte. Depuis que j'ai accès à mon compte sur internet et que j'ai plus de mouvements, je regarde sur mon smartphone (dernière découverte : pourquoi dois-je payer autant de frais pour mon service CB ?) mais rien sur papier ou dans un fichier.

      Comme tu comptes mettre un lien vers le site de ta banque, tu as sans doute accès à ton compte en ligne et peux sûrement télécharger les opérations. Si j'avais une chose à faire, ce serait le traitement des fichiers téléchargeables.

      A+
      0
    2. dudulleray
       
      Bonjour Zoul67

      D'abord c'est d'avoir un but de programmation et l'autre consulter mes comptes tout simplement

      le reste se fait sur le site de la banque

      pas besoin de traitements
      juste un petit fichier de compta, vu que je n'ai pas un salaier de ministre les comptes sont vite faits
      ni de patrimoine a gérer

      juste essayer de faire comme souhaiter si possible TextBox4 ou autre a déterminer

      voila merci a toi et une bonne journée

      Cordialement Raymond
      0
    3. Zoul67 Messages postés 2001 Statut Membre 149
       
      Re,

      J'ai cherché un peu pourquoi le TextBox4 ne fonctionnait pas tel quel mais sans succès.
      Pour ta soif de découverte en programmation, tu peux essayer sur un classeur vierge.

      Pour les expirations de carte bleue, en ligne, on peut sélectionner dans deux listes déroulantes (mois+année ; Combobox). C'est ce que je ferais.

      Si tu t'intéresses à MonthView, je t'en fournis un exemple d'utilisation : https://www.cjoint.com/c/CJskZgvNOGA
      Ici, comment l'activer dans Office 2010 : http://www.fontstuff.com

      Encore un truc pour assouvir ta curiosité : mdf_xlCalendar pour la saisie assistée de dates dans un onglet Excel.

      Bon week-end !
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. dudulleray
     
    Bonjour Zoul67, salut Forum

    Merci pour ton aide et les recherches que tu fait

    Si tu t'intéresses à MonthView, je t'en fournis un exemple d'utilisation : http://cjoint.com/?CJskZgvNOGA

    (1) Pour le fichier je l'ai bien, mais je n'ai pas accès aux codes, je pense que c'est protèger ?????

    sinon effectivement (MonthView) m'interesse, je cherche pour l'instant a l'ouvrir
    sur un clic du Texbox4

    pour le refermer je ne sais pas encore, a suivre

    -------------------------------

    (2) j'ai excel 2007 et que veut dire par l'activer, normalement dans excel 2007
    ce n'ai pas utile ????

    Ici, comment l'activer dans Office 2010 : http://www.fontstuff.com/vba/vbatut07.htm

    (3) Si j'arrive a controler l'ouverture et le fermeture du (MonthView)
    il ne restera plus qu'a cliquer sur une date de mon choix et mettre cette date dans le textbox4

    Pas trop sur d'avoir raison, j'essai de voir comme ca

    61 printemps aujourd'hui alors j'y crois

    Bien des mercis a toi, un bon W-end

    Bien cordialement Raymond
    0
    1. Zoul67 Messages postés 2001 Statut Membre 149
       
      Bonjour Raymond et bon anniversaire avec un peu de retard,

      Ci-après le lien avec la protection ôtée sur le code VBA : https://www.cjoint.com/c/CJvkCpMmhPV
      J'aurais plutôt utilisé deux Combobox comme ce qu'on trouve sur Internet (car le jour ne figure pas).

      A+
      0
  6. dudulleray
     
    Bonjour a tous ,bonjour Forum

    Salut Zoul67

    Tout d'abord merci beaucoup pour mon anniversaire, c'est gentil a toi.
    et merci également pour le fichier déprotéger ainsi que le bout de code.

    Bien j'ai créer un deuxième petit USF ou j'ai mis le "Monthview" calendrier


    '### Le code ci-dessous est dans l'USERFORM (1)

    '*** TextBox4 appel userform calendrier

    Private Sub TextBox4_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox4 = "" 'On vide le TextBox4
    UserForm2.Show 'On charge l'USF calendrier(Monthview)
    End Sub


    ----------------------

    Bilan l'USF(Monthview) s'affiche bien et je peux cliquer sur une date qui va s'inscrire dans le TextBox4 et l'USF(Monthview) qui s'efface ensuite automatiquement

    Toujours ok jusque la, Mon premier soucis est le suivant:

    (1) je n'arrive pas a tester la date d'expiration a (J-1) qui devrait
    faire clignoter le Label321 "Expiration C-B" ainsi que la Date dans le TextBox4

    (2) Quand la date que j'ai choisi est inscrite dans le TextBox4
    si je quitte mon programme, je sauvegarde bien entendu MAIS

    quand j'ouvre le programme de nouveau, la date n'ai pas sauvegarder et le TextBox4 est vide bien sur.

    Sinon j'ai presque réussi avec les codes proposés, merci

    Le but étant, tu l'aura compris, c'est de faire clignoter le Label321 et le Texte du TextBox4 donc seulement la DATE

    A propos du code pour faire clignoter, ca, c'est bon ca marche.

    Bonne après midi avec tous mes remerciements

    Cordialement Ray

    -----------------
    Second code dans l'USERFORM (Monthview)


    Option Explicit

    '*** Pour la minuterie
    Private Declare Function GetTickCount Lib "Kernel32" () As Long
    Public DateExpiration
    Public Fin As Date

    Private Sub MonthView1_DateClick(ByVal DateClicked As Date)

    UserForm1.TextBox4.Value = Format(Me.MonthView1.Value, "dd/Mmm/yyyy")

    DateExpiration = UserForm1.TextBox4.Value

    MsgBox "01--" & DateExpiration

    Unload Me 'Quitte le calendrier
    End Sub

    ------------------

    '*** CODE POUR L'EXPIRATION "DATE" DE LA CARTE BLEUE
    Private Sub UserForm_Activate()

    MsgBox "02--" & DateExpiration

    'UserForm1.TextBox4.Value = Application.Proper(Format(DateExpiration, "dd/mmm/yyyy"))

    'If CDate(Me.TextBox4.Value) - Date <= 1 Then '(1) corresponds a alarme "1" jour avant la date d'expiration
    'Fin = Time + 0.208 / 3600 'Temps 5 secondes

    Do While Time < Fin
    UserForm1.TextBox4.ForeColor = vbYellow
    UserForm1.Label321.ForeColor = vbYellow
    Minuterie 500 'Toutes les demie secondes
    UserForm1.TextBox4.ForeColor = vbRed 'Rouge Date
    UserForm1.Label321.ForeColor = vbRed 'Rouge Expiration
    Minuterie 500
    Loop
    UserForm1.TextBox4.ForeColor = vbYellow 'Remets en Jaune la date après clignotement
    UserForm1.Label321.ForeColor = vbWhite 'Remets en Blanc la date après clignotement
    ' End If
    End Sub

    '*** MACRO MINUTERIE POUR DATE D'EXPIRATION
    Sub Minuterie(Milliseconde As Long)
    Dim Arret As Long
    Arret = GetTickCount() + Milliseconde

    Do While GetTickCount() < Arret
    DoEvents
    Loop
    End Sub
    0
    1. Zoul67 Messages postés 2001 Statut Membre 149
       
      Re,

      Pour 1), je ne sais pas trop et je n'ai pas trop de temps.
      Pour 2), il faut que tu sauvegardes l'info dans un onglet (je ne vois pas d'autre moyen).

      A+
      0
    2. dudulleray
       
      Salut Zoul67

      Merci pour la réponse

      je vais essayer d'écrire la date dans une cellule de la feuil(Compte)
      je ne sais pas comment je vais faire
      puis récuperer l'info Date de la cellule a l'ouverture de mon fichier

      je regarde sur le net si je trouve quelque chose a ce sujet

      Si tu n'a plus le temps c'est pas grave, on laisse tomber t'inquiéte pas
      vais bien arriver a me débrouiller

      Alors je te souhaite la bonne soirée et merci pour ton aide

      Bien cordialement Raymond
      0
  7. dudulleray
     
    Salut Zoul67

    juste pour te dire que j'avais réussi a faire ca que je voulais

    non sans mal mais maintenant ca fonctionne bien et pil poil comme je voulais

    bonne continuation a toi

    merci pour ton aide

    bonne soirée
    Cordialement Raymond
    0