IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

renseigner différents textbox à partir de calendar


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 30
    Par défaut renseigner différents textbox à partir de calendar
    Bonjour,

    Dans un formulaire, je dois renseigner différentes dates par le biais de différentes texbox et ce grâce à calendar.

    Je pensais que le fait de passer par exemple à texbox2 la valeur initialement renseignée dans texbox1 par calendar serait figée, mais il n'en est rien. Comment puis-je bloquer une valeur dans un objet tout en me permettant d'y revenir ultérieurement si nécessaire.

    Personnellement, j'avais écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Private Sub cmdvalider_Click()
     
    'mettre une date dans le  textbox1
     
    If Not IsDate(TextBox1) Then
    MsgBox ("mettre une date")
    Me.TextBox1.SetFocus
    TextBox1.Value = Calendar1.Value
    Exit Sub
    End If
     
    'mettre une date dans le deuxième textbox2
    If Not IsDate(TextBox2) Then
    MsgBox ("mettre une deuxième date")
    Me.TextBox2.SetFocus
    TextBox2.Value = Calendar1.Value
    Exit Sub
    End If
    Range("a1").Value = TextBox1
    Range("a2").Value = TextBox2
    End Sub
    Vous remerciant de votre concours,

    Cordialement

    Guy

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    pourquoi mettre des textbox et les alimenter à l'aide d'un calendar?
    pourquoi pas directement?
    Remplacer tes textbox avec des datepicker

  3. #3
    Membre éprouvé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Par défaut
    J'ai fais un p'tit truque, mais je ne sais pas si c'est ce que tu veux...
    Fichiers attachés Fichiers attachés

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 30
    Par défaut j'ai rajouté mon fichier
    Bonjour JOJO86,

    Merci de l'information, j'ai rajouté mon fichier.

    Cordialement

    Guy
    Fichiers attachés Fichiers attachés

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Ci après une proposition
    1. Déclarer une variable global Fokus dans un module public 2. Dans initalize (ou activate) de ton userform (ça dépend, si tu utilise hide/show->dans activate ou unload/load->dans Initialize)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub UserForm_Initialize()
    Calendar1.Value = Now
    Fokus = 0
    End Sub
    3. dans Click de ton calendar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Calendar1_Click()
    If Fokus > 0 Then Me.Controls("TextBox" & Fokus).Value = Calendar1.Value
    End Sub
    4. enfin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub TextBox1_Enter()
    Fokus = 1
    End Sub
    Private Sub TextBox2_Enter()
    Fokus = 2
    End Sub
    Private Sub TextBox3_Enter()
    Fokus = 3
    End Sub
    Private Sub TextBox4_Enter()
    Fokus = 4
    End Sub
    Edit: si tu n'as pas d'autres controles sur ton userform, le textbox1 est d'entrée selectionné, d'où tu peux t'en passer du Fokus=0 dans Initalize et du If Fokus>0

    Si tu as d'autres controles, il est nécessaire de réinitailiser à 0 la variable Fokus, par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Fokus = 0
    End Sub
    Je préfère mettre 4 datePicker au lieu des 4 textbox + le Calendar
    et les lignes de code

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 30
    Par défaut remplacer des calendar et textbox par datepicker
    Bonjour à tous,

    Merci à Mercatog et Jojo86 de leur patience et du résultat obtenu. Je veux bien remplacer les textbox par des datepicker mais je ne sais pas encore comment faire et le tutoriel sur ce sujet me laisse sur ma faim. En regardant très souvent les conversations par le biais de ce site, au demeurant très bien fait, je finirai bien par progresser.

    Cordialement

    Guy


    PS : la cerise sur le gâteau serait peut-être que quelqu'un me montre par le biais d'un petit formulaire excel....

Discussions similaires

  1. chargement textbox à partir datagrid
    Par azzouz_soui dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 15/06/2008, 23h03
  2. Charger une Textbox à partir d'un combobox lié à une table
    Par fomblardo dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 27/03/2008, 13h24
  3. remplir un textbox àpartir de 2 list
    Par amelhajer dans le forum VB.NET
    Réponses: 1
    Dernier message: 29/03/2007, 09h22
  4. Remplir un textbox à partir d'un combobox
    Par gringo96 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 17/08/2006, 19h08
  5. [VB6]Creer un autre TextBox à partir d'une Textbox Existante
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 24
    Dernier message: 18/01/2006, 08h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo