Signaler

Comment puis corriger ce code, fait une erreur après effacement [Résolu]

Posez votre question coupidon 92Messages postés mardi 3 janvier 2006Date d'inscription 13 septembre 2016 Dernière intervention - Dernière réponse le 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
Afficher la suite 
Utile
+0
moins plus
Bonjour,

s'assurer que TextBox7<>""
Ajouter un commentaire
Utile
+0
moins plus
bonjour,
je met cette formule ou du coup ?
f894009 10237Messages postés dimanche 25 novembre 2007Date d'inscription 29 septembre 2016 Dernière intervention - 13 sept. 2016 à 13:45
Re,

Ben c'est a mettre dans un test If ..... Allons .....
Répondre
Ajouter un commentaire
Utile
+0
moins plus
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...
Ajouter un commentaire
Utile
+0
moins plus
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
coupidon 92Messages postés mardi 3 janvier 2006Date d'inscription 13 septembre 2016 Dernière intervention - 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...
Répondre
f894009 10237Messages postés dimanche 25 novembre 2007Date d'inscription 29 septembre 2016 Dernière intervention - 13 sept. 2016 à 14:20
Re,

Comment entrez-vous la date en textbox7: 01/01/2016 ou 01/01/16 ou ??????
Répondre
Ajouter un commentaire
Utile
+0
moins plus
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
f894009 10237Messages postés dimanche 25 novembre 2007Date d'inscription 29 septembre 2016 Dernière intervention - 13 sept. 2016 à 14:29
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
Répondre
Ajouter un commentaire
Utile
+0
moins plus
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 ?
f894009 10237Messages postés dimanche 25 novembre 2007Date d'inscription 29 septembre 2016 Dernière intervention - 13 sept. 2016 à 14:35
Re,

Regardez ce que j'ai ecrit f894009 - 13 sept. 2016 à 14:29
Répondre
Ajouter un commentaire
Utile
+0
moins plus
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.
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !