DTPicker empecher saisir clavier.

Résolu
colombe88 Messages postés 41 Statut Membre -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  2. colombe88 Messages postés 41 Statut Membre
     
    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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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
  3. colombe88 Messages postés 41 Statut Membre
     
    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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Je regarde ça cet aprème. Ad'Taleur!
      0
  4. colombe88 Messages postés 41 Statut Membre
     
    ok.. a tres bientot :)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  7. colombe88 Messages postés 41 Statut Membre
     
    Super Merci encore ca marche a merveille.. !!!!!!
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      et bien de rein.
      A+
      0