Insertion d'une date calendrier dans Textbox [Résolu/Fermé]

Signaler
-
 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

Messages postés
1941
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
23 août 2020
141
Bonjour,

Les calendriers sont parfois un peu chatouilleux entre différentes versions d'Excel et nécessitent parfois de la configuration au niveau des références.
Je te conseille la solution de pijaku ici : https://forums.commentcamarche.net/forum/affich-28617073-fonction-regexp-sous-vba#4

A+
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

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
Messages postés
1941
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
23 août 2020
141
Re,

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

A+
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
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
Messages postés
1941
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
23 août 2020
141
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...
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
Messages postés
1941
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
23 août 2020
141
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é :-) )?
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
Messages postés
1941
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
23 août 2020
141
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+
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
Messages postés
1941
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
23 août 2020
141
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 !
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
Messages postés
1941
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
23 août 2020
141
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+
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
Messages postés
1941
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
23 août 2020
141
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+
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
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