Comment puis corriger ce code, fait une erreur après effacement

Résolu/Fermé
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 - 13 sept. 2016 à 13:40
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 - 13 sept. 2016 à 14:39
Bonjour,

j'ai un petit programme que j'ai fait, le problème quand je veux corrigé ou effacer la saisi sur le textbox7 dans l'userform cela me fait une erreur de débogage, au niveau de la ligne
madate = DateAdd("d", TextBox7.Value, oldDate)
comment puis je corriger cette erreur d'effacement en faite.



Private Sub TextBox7_Change()

Dim oldDate As Date
Dim madate As Date

oldDate = CDate(Now())
madate = DateAdd("d", TextBox7.Value, oldDate)

TextBox6.Value = Format(madate, "dddddd")
End Sub
A voir également:

7 réponses

coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 1
13 sept. 2016 à 14:25
En faite je fait un calcul de jour, le textbox7 est juste une valeur numérique.
j'utilise now() pour faire le calcul.
en ajoutant une valeur numérique cela me donne le jour sous le format exemple : vendredi 16 septembre 2016

si aujourd'hui nous sommes le Mardi 13 septembre 2016
avec le textbox7 je saisi 03 cela me donne comme réponse sur le textbox6
vendredi 16 septembre 2016

mais je voulais effacer la saisi si on se trompait du coup ta boucle fonctionne mais je n'ai plus le résultat sur le textbox6
1
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié par f894009 le 13/09/2016 à 14:34
Re,

Avec explication ca devient plus simple a resoudre.

Private Sub TextBox7_Change()

    Dim oldDate As Date
    Dim madate As Date
    
    If TextBox7 <> "" And IsNumeric(TextBox7) Then
        oldDate = CDate(Now())
        madate = DateAdd("d", TextBox7.Value, oldDate)
        TextBox6.Value = Format(madate, "dddddd")
    Else
        TextBox6 = ""
    End If
End Sub


Par contre si entree(s) de lettre, pas de correction sur textbox7
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
13 sept. 2016 à 13:43
Bonjour,

s'assurer que TextBox7<>""
0
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 1
13 sept. 2016 à 13:44
bonjour,
je met cette formule ou du coup ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
13 sept. 2016 à 13:45
Re,

Ben c'est a mettre dans un test If ..... Allons .....
0
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 1
13 sept. 2016 à 13:48
ah, navré comme je débute sur vba j'ai pas encore toute la maîtrise de la programmation même si je connais sous excel les conditions si, et, ou...
0

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

Posez votre question
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
13 sept. 2016 à 14:00
Re,

avec quelques test sup:

Private Sub TextBox7_Change()

    Dim oldDate As Date
    Dim madate As Date
    
    If TextBox7 <> "" And IsDate(TextBox7) And Len(TextBox7) = 10 Then
       oldDate = CDate(Now())
        madate = DateAdd("d", CDate(TextBox7.Value), oldDate)
        TextBox6.Value = Format(madate, "dddddd")
    End If
End Sub
0
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 1
13 sept. 2016 à 14:16
puis, lol
mon problème est résolu, je peu maintenant effacer etc...

j'ai du coup un autre problème qui apparait, c'est que sur mon textbox6, je n'ai plus l'affichage de la réponse du coup comme si la boucle if me bloque le résultat...
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016
13 sept. 2016 à 14:20
Re,

Comment entrez-vous la date en textbox7: 01/01/2016 ou 01/01/16 ou ??????
0
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 1
13 sept. 2016 à 14:33
Je suppose que dans la ligne

If TextBox7 <> "" And IsDate(TextBox7) And Len(TextBox7) = 10 Then

le IsDate(TextBox7) soit mon problème qui empêche d'accomplir de résultat ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
13 sept. 2016 à 14:35
Re,

Regardez ce que j'ai ecrit f894009 - 13 sept. 2016 à 14:29
0
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 1
13 sept. 2016 à 14:39
J'avais pas vue le changement au dessus, chapeau cela fonctionne super c'est comme je voulais, avec le Isnumeric cela change tout.
et d'avoir pensé à effacer la ligne du textbox6 si on refait la saisi parfait.
merci de votre aide, c'est exactement ce que je voulais que cela fasse.
0