Zone de texte dans un formulaire

Résolu/Fermé
TeddyGalere Messages postés 75 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 mai 2016 - 23 mars 2016 à 11:00
TeddyGalere Messages postés 75 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 mai 2016 - 29 mars 2016 à 11:21
Bonjour,

Je dois réaliser un formulaire, dans je dois saisir des informations et notamment une date de début de mission.
Ensuite les informations sont intégré automatiquement dans un tableau qui me calcul une multitude de d'échéances liés à cette date.

Je souhaiterai cependant que dans mon formulaire apparaisse une date de fin de mission previsionnelle (à +105j).

Donc avoir une barre avec écrit date de fin: jj/mm/aaaa.

Mais je souhaiterai pouvoir modifier cette date de fin pour la contraindre...

Je m'explique... Imaginons la date de fin que le formulaire m'indique est le 15/06/2016, mais que j'ai besoin que ma mission soit fini pour le 01/06/2016, je veux pouvoir l'indiquer pour que tous mes échéances calculés prennent en compte cette date...

Le formulaire est deja fait, mais je ne sais juste pas comment y intégrer cette case qui m'affiche un résultat (que je puisse modifier) en fonction d'une case de saisie du même formulaire.

Je ne sais pas si je me fais bien comprendre :)

En vous remerciant.

6 réponses

tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 2 033
23 mars 2016 à 14:00
Bonjour, avec le fichier en question (sans données perso) ce serait plus simple pour t'aider
0
TeddyGalere Messages postés 75 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 mai 2016
23 mars 2016 à 14:45
Salut Tyranausor,

Voila le lien: https://www.cjoint.com/c/FCxnSHSMy8C

Encore merci
0
tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 2 033
Modifié par tyranausor le 23/03/2016 à 22:26
C'est dans tes zones de texte (textbox) avec les dates dont tu parles? Si c'est ça, ajoute
Private Sub TextBox_Date_AfterUpdate()
With Me
fin = CDate(.TextBox_Date) + Day(15)
Debug.Print (fin)
.TextBox1 = fin
End With
End Sub
dans ton code pour l'usf. Dans la textbox où tu entres la date de début doit être obligatoirement au format JJ/MM/AAAA et la date de fin se met automatiquement après un appuie sur [Entrée]
0
TeddyGalere Messages postés 75 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 mai 2016
24 mars 2016 à 10:10
Merci Tyranausor...
Ton code semble marcher, mais par contre ca ne m'ajouter que 14j au lieu de 105...
J'ai tenté d'écrire:

Private Sub TextBox_Date_AfterUpdate()
With Me
fin = CDate(.TextBox_Date) + Day(105)
Debug.Print (fin)
.TextBox1 = fin
End With
End Sub

Au lieu de:

Private Sub TextBox_Date_AfterUpdate()
With Me
fin = CDate(.TextBox_Date) + Day(15)
Debug.Print (fin)
.TextBox1 = fin
End With
End Sub

Mais rien n'y fait...
0
Bonjour
modification des combobox & Textbox

http://www.cjoint.com/c/FCykmMvB4Lc
A+
Maurice
0
TeddyGalere Messages postés 75 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 mai 2016
24 mars 2016 à 16:57
Merci beaucoup pour la macro Maurice...
J'ai rien compris mais ca marche ;)
0
Maurice > TeddyGalere Messages postés 75 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 mai 2016
24 mars 2016 à 17:48
Bonjour
voila encore une modife pour le bouton Valide
http://www.cjoint.com/c/FCyqUdz2Acc
A+
Maurice
0
TeddyGalere Messages postés 75 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 mai 2016
25 mars 2016 à 10:16
Merci Maurice...
Par contre j'ai pas tout compris ce que tu as fais?^^
Et pk j'ai plus acces a ma feuille de données?
0
Maurice > TeddyGalere Messages postés 75 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 mai 2016
25 mars 2016 à 11:10
Bonjour
regarde dans le ThisWorkbook Workbook_Open
Feuil3.Visible = 2 :mettre -1 a la place de 2
A+
Maurice
0
tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 2 033
24 mars 2016 à 11:14
Bonjour, j'ai mal lu, mille excuses. En effet, même sous Excel (sans vba) tu ajoutes 105 à une date ça ajoute 15 jours!
La solution serait de convertir 105 jours en mois et jours, soit 3 mois (de 30 jours) et 15 jours
0
TeddyGalere Messages postés 75 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 mai 2016
24 mars 2016 à 16:51
mais tu l'integre comment dans ta macro du coup???
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 2 033
24 mars 2016 à 20:12
J'ai un code qui fonctionne mais qui ne donne pas tout as fait la même chose que si tu faisais le calcul sans VBA.
Sous Excel
01/03/2016+105=14/06/2016
et avec VBA avec le code Sub
ajout_jours_date()
Cells(10, 8) = "Date de départ"
Cells(11, 8) = "Jours à ajouter"
Cells(12, 8) = "Résultat"

d = "01/03/2016"
j = DateAdd("m", 3, d)
Cells(12, 9) = j + 14
End Sub
j'ai 16/06/2016 soit une différence de 2 jours. Vu que c'est du prévisionnel, ça ne fait pas grand chose
0
TeddyGalere Messages postés 75 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 mai 2016
25 mars 2016 à 10:17
Merci beaucoup :)
0
TeddyGalere Messages postés 75 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 mai 2016
25 mars 2016 à 10:23
Par contre dernier truc si je peux me permettre...
Il faudrait que dans ma sheet "Masque de saisie", la cellule C22 soit égal à la TextBox1
(bon ca c'est easy)
Mais il faudrait que ma cellule C18 soit égal à:
TextBox1-105*((Textbox1-TextBox_Date)/105)

Sauf que quand je tape dans ma macro:
Sheets("Masque de saisie").Cells(18, 3) = TextBox1 - 105 * ((TextBox1 - TextBox_Date) / 105)

Ca me met en mode débogage... :'(
0
tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 2 033
25 mars 2016 à 11:32
Bonjour, c'est normal. Tu fais des opérations sur une date (VBA ne fonctionne pas tout à fait comme Excel). Je vois que tu veux faire une différence entre deux dates, c'est avec datediff(). Mais je ne comprend pas ce que tu veux obtenir par TextBox1 - 105 * ((TextBox1 - TextBox_Date) / 105) .
As-tu un exemple chiffré?
0
TeddyGalere Messages postés 75 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 mai 2016
29 mars 2016 à 11:21
C'est bon j'ai trouvé !!!
C'était pour recalculer mma date initial en faisant un prorata...
Mais tout va bien!!

Un grand merci a tous !!!
0