DTPicker empecher saisir clavier.

Résolu
Bonjour,

je travaille actuellement sur un UserForm qui comporte 3 DTPicker (1,2,et3 )
DTPicker2 ne doit pas etre inferieur a DTPicker 1 et DtPicker 3 pas inferieur a DTPicker2
avec les methode CloseUp de DTPicker je pu progammer un controles de routine qui fonctionne bien mais le probleme est l'utilisateur peut entre les date a partir du clavier.
alors j'aimerai empecher qu'il saisir les dates mais juste choisir dans le calendrier DTPicker

PS: j'ai essaye le methode
Private Sub DTPicker1_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub
mais cela ne fonctionne pas..

merci pour votre aide.

6 réponses

  1. Modérateur
    Bonjour,

    Essaye comme ceci :

    Private Sub DTPicker1_KeyPress(KeyAscii As Integer)
    'si une touche du clavier est pressée
    If KeyAscii <> 0 Then
        'message à l'utilisateur (facultatif)
        MsgBox "Saisie au clavier interdite."
        'annulation de ladite touche
        KeyAscii = 0
    End If
    End Sub


    0
    1. Merci pijaku
      bien il desormais imossible de saisir une date via clavier . mais bon il reste encore un probleme. il possible de changer le valeur des date via les boutton directionnels ( fleche vers le bas reduit les chiffres et fleche vers le haut les augmente ) ainsi le controle est de nouveau contourné :(
      je suppose que avec les methode
      KeyUp et KeyDown cela peut etre empecher mais je sais coment les utiliser..

      merci pour une aide supplementaire
      0
      1. Modérateur
        En effet, tu as raison. Il te suffit d'ajouter ce code :
        Private Sub DTPicker1_KeyDown(KeyCode As Integer, ByVal Shift As Integer)
        If KeyCode <> 0 Then KeyCode = 0
        End Sub
        
        'facultatif
        Private Sub DTPicker1_KeyUp(KeyCode As Integer, ByVal Shift As Integer)
        If KeyCode <> 0 Then KeyCode = 0
        End Sub
        0
    2. wouahhh genial
      merci bien ca marche comme il faut ...
      peux peut etre me souffler encore une petite info...j'aimerai grace a un clic sur boutton a partir de n'importe support a partir du disque C telecharger une foto dans mon UserForm
      cooment je fais..?
      et en plus
      dans une textbox j'ai une valeur. Je voudrai que lorsque je doubleclic sur la textbox qu'il ouvre ce liens
      https://pqm.bmwgroup.net/jsp/extcalllang.jsp?modus=bearb&problemid=79430813

      le liens doit se terminer par = "la valuer de la textbox"
      tout est haut cette valeur est "79430813"
      et elle peut changer " si l'utilisateur entre une valeur dans la textbox, c'est elle qui se trouvera enfin du liens"

      merci encore..
      0
      1. Modérateur
        Je regarde ça cet aprème. Ad'Taleur!
        0
    3. ok.. a tres bientot :)
      0
      1. Modérateur
        Réponse d'après bug :
        Voili voilou :
        1- Charger une image dans un UserForm :
        Si tu souhaites charger l'image dans le "fond" de l'Userform :
        Private Sub CommandButton1_Click()
        Dim MonImg As Variant
            
        MonImg = Application.GetOpenFilename("Fichiers Images (*.jpg; *.gif),*.jpg;*.gif")
        If MonImg = False Then MsgBox "Opération annulée.": Exit Sub
        UserForm1.Picture = LoadPicture(MonImg)
        UserForm1.PictureSizeMode = fmPictureSizeModeStretch
        End Sub

        Si tu souhaites charger l'image dans un contrôle image (nommé Image1) de l'Userform :
        Private Sub CommandButton1_Click()
        Dim MonImg As Variant
            
        MonImg = Application.GetOpenFilename("Fichiers Images (*.jpg; *.gif),*.jpg;*.gif")
        If MonImg = False Then MsgBox "Opération annulée.": Exit Sub
        UserForm1.Image1.Picture = LoadPicture(MonImg)
        UserForm1.Image1.PictureSizeMode = fmPictureSizeModeStretch
        End Sub


        2- Ouvrir une page Internet Explorer
        au double clic dans un textbox :
        '!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ATTENTION!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        'activer deux références :
            'Microsoft Internet Controls
            'Microsoft HTML Object Library
        'Pour accéder aux références dans VBA, menu Outils -> Références.
        Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
        Dim Adresse As String
        Dim IE As New InternetExplorer
        
        If TextBox1.Value = "" Then MsgBox "Saisie obligatoire.": Exit Sub
        Adresse = "https://pqm.bmwgroup.net/jsp/extcalllang.jsp?modus=bearb&problemid=" & TextBox1.Value
        IE.navigate Adresse
        IE.Visible = True
        Do Until IE.readyState = READYSTATE_COMPLETE
            DoEvents
        Loop
        Set IE = Nothing
        End Sub 


        0
        1. Super Merci encore ca marche a merveille.. !!!!!!
          0
          1. Modérateur
            et bien de rein.
            A+
            0