Format date dans textbox et date automatique Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
chantalc33
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 11 janvier 2015
Version d'Excel : 2013

Message par chantalc33 » 18 janvier 2015, 18:12

Rebonjour à tous,

Voilà, je galère avec la date...!!
Dans mon classeur excel, je veux que les dates s'affichent dans le format aaaa-mm-jj.
Dans mon userform, je voudrais qu'elle s'affiche de la même façon (aaaa-mm-jj)... Pour l'instant, même si le format dans le classeur est aaaa-mm-jj, quand la date s'affiche dans mon userform, elle se met automatiquement au format jj/mm/aaaa et, donc, quand je sauvegarde, elle recopie dans ce même format dans mon classeur (jj/mm/aaaa).... Je ne comprends pas vraiment pourquoi... ?

Aussi, je voudrais que, quand je finis de compléter la date dans "Date effective", la textbox "Date expiration" affiche automatiquement la même date + 1 an.
Je suppose qu'une fois que le problème pour le format de la date sera résolue, ce sera assez simple de faire que la date d'expiration s'ajuste et s'ajoute automatiquement... ?

Merci de votre aide, je vous joins le fichier! :)
JOB.xlsm
(119.07 Kio) Téléchargé 123 fois
Tourlou!! :)

Chantal
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 6'574
Appréciations reçues : 174
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 18 janvier 2015, 18:44

Désolé j'ai été absent une bonne partie de la journée donc je n'ai pas pu continuer sur le fil précédent...
La syntaxe pour charger ton texbox date est
TextBox8 = Format([H2], "yyyy/mm/dd")

Or tu as chargé les textbox dans cette boucle :
            For j = 2 To 9
                UserForm1.Controls("TextBox" & j).Value = Cells(i + 1, j).Value
            Next j
il faut donc reprendre ton Getdata de la manière suivante :
'********** ENTÊTE + INFOS COPIER - SITUATION 1 **********
            For j = 2 To 9
                UserForm1.Controls("TextBox" & j).Value = Cells(i + 1, j).Value
            Next j
            TextBox8 = Format(TextBox8, "yyyy/mm/dd")
            TextBox9 = Format(TextBox9, "yyyy/mm/dd")
...la suite sans changement.

A+
Question portant sur VBA : Je ne répond pas si la question ne comporte pas le classeur KIVABIEN avec.
Avatar du membre
chantalc33
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 11 janvier 2015
Version d'Excel : 2013

Message par chantalc33 » 18 janvier 2015, 20:44

Merci beaucoup Galopin, j'apprécie.
Ça fonctionne bien, sauf quand je dois modifier à partir de mon userform vers ma feuille excel.
For j = 1 To 9
                Cells(emptyRow, j).Value = UserForm1.Controls("TextBox" & j).Value
            Next j
La date se transfert bien dans mon classeur sous le bon format, par exemple si j'ai écris 2014-03-08 dans ma textbox, je vais voir 2014-03-08 dans mon classeur. Sauf que au moment de reprendre cette information avec mon GetData et de la modifier, il me fait n'importe quoi... VRAIMENT...
Avec les chiffres du genre 2014-03-20, il semble reconnaitre que le 20 est la journée, mais dans mon exemple ci-dessus, il continue interchanger le mois et le jour...

Une petite idée?

Je retourne le fichier... Pour tester, voir à le faire avec le Code de police DCPH2020.

Merci! :)
JOB.xlsm
(139.24 Kio) Téléchargé 120 fois
Tourlou!! :)

Chantal
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 6'574
Appréciations reçues : 174
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 18 janvier 2015, 21:21

Les TextBox renvoie du Texte (pas une Date)
Essaie :
For j = 1 To 9
                Cells(emptyRow, j).Value = CDate(UserForm1.Controls("TextBox" & j))
Next j
Je n'ai pas testé sur ton fichier mais selon toute probabilité dans l'exemple que tu donnes ton affichage est aligné à gauche dans la feuille preuve que VBA n'a pas capté que tu voulais transférer une date et Excel ne reconnait pas cette donnée comme une date. (alors que les dates reconnues comme telles sont alignées à droite).
A+
Question portant sur VBA : Je ne répond pas si la question ne comporte pas le classeur KIVABIEN avec.
Avatar du membre
chantalc33
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 11 janvier 2015
Version d'Excel : 2013

Message par chantalc33 » 19 janvier 2015, 02:47

Super!! :D Ça semble très bien fonctionner une fois intégré dans mon fichier. Merci beaucoup !! :)
Tourlou!! :)

Chantal
l
likopi
Jeune membre
Jeune membre
Messages : 37
Inscrit le : 12 janvier 2015
Version d'Excel : 2010

Message par likopi » 19 janvier 2015, 14:44

:btres:
Avatar du membre
chantalc33
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 11 janvier 2015
Version d'Excel : 2013

Message par chantalc33 » 20 janvier 2015, 01:27

He bien finalement... Non, ça ne marche pas si bien que çà... :(
Ça fonctionne quand j'essais avec une police existante, il me sort les dates dans le bon ordre. Par contre, si je change la date (Par exemple pour le #de dossier DCPH1010 si je modifie le 08 pour exemple 10, dans la textbox9, ça affiche tout croche...
Aussi, il me fait des erreurs quand j'essais d'ajouter un nouveau # de police, après avoir entrer la date dans Date effective, je clique sur sauvegarder/nouveau, et ça dit : Incompatibilité de type (Erreur d'exécution 13)...

Alors je suis toujours au même point... Quelqu'un à une idée?

Merci! :)
JOB.xlsm
(121.54 Kio) Téléchargé 94 fois
Tourlou!! :)

Chantal
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 6'574
Appréciations reçues : 174
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 20 janvier 2015, 12:46

Bonjour,
Dans ce fichier, à partir du bouton dans la feuille DBASE, le UserForm1 ne semble pas fonctionner.
Si je lance le USF depuis VBA et que le rentre un nouveau N° de dossier il y a une erreur lors de l'enregistrement dans Sub AddHeads
car : Tu mets
Cells(emptyRow, j).Value = CDate(UserForm1.Controls("TextBox" & j))
dans une boucle For
Or seuls les Controls 8 et 9 sont censés comporter une date... TextBox1 ayant un contenu alpha numérique provoque cette erreur incompatibilité de type car CDATE ne digère pas bien ce genre de donnée.
Autres commentaires en MP
A+
Question portant sur VBA : Je ne répond pas si la question ne comporte pas le classeur KIVABIEN avec.
Avatar du membre
chantalc33
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 11 janvier 2015
Version d'Excel : 2013

Message par chantalc33 » 23 janvier 2015, 01:55

Bonsoir Galopin,

J'ai donc corrigé ce que tu m'indiquais par :
For j = 1 To 7
                Cells(emptyRow, j).Value = UserForm1.Controls("TextBox" & j).Value
            Next j
                Cells(emptyRow, 8).Value = CDate(UserForm1.Controls("TextBox" & 8))
                Cells(emptyRow, 9).Formula = "=Date(Year(H" & i + 1 & ")+1,Month(H" & i + 1 & "),Day(H" & i + 1 & "))"
                UserForm1.TextBox9.Value = Cells(i + 1, 9).Value
                TextBox9 = Format(TextBox9, "yyyy/mm/dd")
Malgré tout, quand je fais un nouveau # de dossier, j'entre la date dans l'ordre AAAA-MM-JJ dans TextBox8, en mettant à jour (en cliquant sur Sauvegarder / Nouveau) la date dans la TextBox9 se mets en format AAAA-JJ-MM... Et quand j'efface le # de dossier et le remet, alors les 2 dates (Textbox8 et 9) se mettent dans l'ordre AAAA-JJ-MM...
Une idée?
Tu as indiqué "Autres commentaires en MP"; mais je n'ai pas reçu de message privé... ?

Merci pour l'avancement, reste à régler l'autre bout, si tu peux m'aider? Merci d'avance :)
Tourlou!! :)

Chantal
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 6'574
Appréciations reçues : 174
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 23 janvier 2015, 12:16

Bonjour,
As-tu été faire un petit tour sur le lien que je t'ai donné ?
Les dates c'est déjà bien assez complexe quand on utilise la notation standard (avec des ../../..) Quand tu seras une virtuose de cette notation, des conversions de String et du débogage, tu pourras peut-être essayer de bricoler avec des formats spécifiques.
Moi j'y renonce.
De toute façon, il faut que tu revoies ton projet sous un angle un peu plus orthodoxe. Pour l'instant tu es partie pour un Paris-Dakar en roller : Tu ne vas pas trouver beaucoup de monde pour te suivre...
Pour le coup j'ai fini par te le mettre ce MP. Bon ça va pas te remonter le moral, mébon...
A+
Question portant sur VBA : Je ne répond pas si la question ne comporte pas le classeur KIVABIEN avec.
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message