ne pas être obligé de remplir un textbox format date ? (résolu)

pat40 pat40
86 contributions
Membre depuis le 04/03/2011
Envoyé le 13/02/2012 à 22:10 Modifié par pat40


Bonjour,

D'abord fausse manip sur mon précédent message, je m'en excuse mais je ne sais pas si s'est possible de le supprimer

Mon pb j'ai déjà demandé de l'aide sur le format date (je remercie tous ceux et celles qui m'ont aidé notamment Claude40) et chaque fois que j'ai une solution un autre petit pb survient (ce dont je m'aperçois lorsque je me mets en pratique mon projet)

sur un userform j'ai trois textbox date dont je"force" le format par le code qui suit:

Private Sub demande_Change()
Dim Valeur As Byte
demande.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
Valeur = Len(demande)
If Valeur = 2 Or Valeur = 5 Then demande = demande & "/"
End Sub

Malgré l'absence de code pour forcer une saisie de date, si je ne remplis pas les trois textbox j'ai un message d'erreur qui apparaît =
microsoft visual basic
erreur d’Exécution'13':
incompatibilité de type

le débogage indique l'erreur = Cells(no_ligne, 7) = CDate(textbox laissé vide)

Hors je ne n'ai pas besoin de remplir forcement les trois à la fois

j'utilise le code suivant:

Private Sub ajouter_Click()
Dim no_ligne As Integer, nom
no_ligne = Range("A65536").End(xlUp).Row + 1
Cells(no_ligne, 1) = referent.Value
Cells(no_ligne, 2) = ordre.Value
Cells(no_ligne, 3) = ville.Value
Cells(no_ligne, 6) = referenceexterieure.Value
Cells(no_ligne, 7) = CDate(demande)
Cells(no_ligne, 8) = CDate(reception)
Cells(no_ligne, 9) = CDate(traitement)
Cells(no_ligne, 19) = demandeur.Value
Cells(no_ligne, 20) = petnom.Value
Cells(no_ligne, 21) = travauxdemandes.Value
Cells(no_ligne, 22) = prescription.Value
Cells(no_ligne, 103) = petcivilite.Value
Cells(no_ligne, 104) = petnom.Value
Cells(no_ligne, 105) = petadresse.Value
Cells(no_ligne, 106) = petcodepostal.Value
Cells(no_ligne, 107) = petville.Value

Unload Me
courrierdivers.Show
End Sub

Je précise qu'il me faut absolument garder le format date pour l'exploitation de ma base..

Merci de votre patience

Mytå_Qc Mytå_Qc
30 contributions
Membre depuis le 06/08/2010
Envoyé le 14/02/2012 à 13:01


Bonjour,

En ajoutant une condition de test


If demande.MaxLength < 10 Then
Cells(no_ligne, 7) = ""
Else
Cells(no_ligne, 7) = CDate(demande)
End If


Mytå_Qc



pat40 pat40
86 contributions
Membre depuis le 04/03/2011
Envoyé le 14/02/2012 à 20:36


Bonjour,

Merci à Mytå_Qc

cela fonctionne pb résolu

Discussion trop ancienne

Cette discussion a été automatiquement fermée car elle n'a plus reçue de nouveau message depuis trop longtemps.

Nous vous suggérons de créer un nouveau message

« Retour sur la liste des messages de ce forum