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

IHM Discussion :

Utilisation d'un calendrier (Contrôle ActiveX) [À faire]


Sujet :

IHM

  1. #21
    Futur Membre du Club

    Inscrit en
    Avril 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Par contre, que tu nous poses une question à propos du nom de ton contrôle, faut pas charrier : tu réfléchis... et tu mets ce qu'il faut
    Désolé ! Je tentais seulement de savoir quelle était la raison pour laquelle cela ne fonctionnait pas. Comme code, tout devait être ok mais j'ai un message d'erreur qui me ramène toujours à cette partie du code, alors !!!
    Quand tu n'y connais pas grand chose, toutes les questions sont pertinentes n'est-ce pas ???

    Merci encore !

  2. #22
    xp
    xp est déconnecté
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Février 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 23
    Points : 32
    Points
    32
    Par défaut
    Bonsoir
    Citation Envoyé par multiclic
    Je suis donc revenue aux codes d'xp reçus auparavant:
    ...
    Mais là, je n'ai pas le "Name" après le . de Me.ActiveControl ???

    Et dans mon Private Sub, il n'est pas inscrit "txt" devant DateDébut...??
    pour le Name, comme dit Papy Turbo, tu le tapes...
    pour le txt:
    Quand tu crées un contrôle dans ton formulaire, automatiquement Access lui donne un nom (propriété Name, tiens, tiens). Moi, j'aime bien donner mes propres noms aux contrôles (c'est plus simple pour s'y retrouver) et en plus, en "vieux" développeur C++, j'ai pris l'habitude de faire précéder mes noms de contrôles par leur type (nostalgie, quand tu nous tiens ). Tout ça pour dire que txtDateDébut est le nom de mon contrôle(zone de texte).
    De plus, quand tu associes un évènement à un contrôle, là pour le coup, t'as pas le choix, c'est Access qui nomme la procédure sur la forme : nomDuContrôle_Evènement (Paramètres).
    D'où le txtDateDébut_DblClik...
    Maintenant, ce qui serait bien c'est que tu nous dises si ca marche ou pas et si oui, tu peux tagguer résolu, sinon, tu nous montres ton dernier code.
    Pour ton problème Outlook, tu devrais plutôt, après les recherches dans le forum, bien sûr, lancer un nouveau sujet.
    Bonne chance.
    XP

  3. #23
    Futur Membre du Club

    Inscrit en
    Avril 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Re Bonjour,

    Merci ! j'ai bien compris pour les noms de contrôles et tout...

    D'après moi, pour ce qui est du calendrier, tout m'a l'air de bien fonctionner maintenant.

    En y passant plusieurs heures, j'ai finalement réalisé qu'il s'agissait du nom de mon contrôle activeX : ctlActiveX0 au lieu de axCalendrier et j'ai également réaliser l'importance de faire ce dont vous parler, i.e.

    Moi, j'aime bien donner mes propres noms aux contrôles (c'est plus simple pour s'y retrouver)
    Merci encore et je suivrai votre conseil pour mon histoire de périodicité, j'ai réussi à m'y comprendre mieux donc j'y reviendrai plus tard dans un nouveau sujet.

    Merci beaucoup à vous deux, votre aide me fût d'un grand secours !

    Lucie

  4. #24
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    D'abord, pardon, Multiclic, d'avoir été trop vite. Je pensais que tu savais nommer un contrôle, utiliser le nom... et merci, XP d'avoir rattrapé le coup.

    Citation Envoyé par xp
    le calendrier déroule, ou apparaît comme un formulaire. Tu parles des APIs, y-en-a-t-il (ça en fait des - ) de vraiment nécessaires?
    Le calendrier déroule : voir image.
    Les APIs que j'aimerais bien supprimer me donnent la position absolue du formulaire, par rapport à laquelle je vais positionner le calendrier déroulant sous le contrôle. Je suis encore en recherche sur cette partie : certains éléments (hauteur barre de titre, largeur bordure, TwipsPerPixels (Access travaille en Twips, les APIs en pixels !!) sont encore des constantes, qui risquent d'être variables en fonction de la définition d'écran... donc, j'explore d'autres APIs pour lequels je n'ai pas d'exemple VB, juste la syntaxe API !
    Développement Office, support technique, assistance, sur place (Loire atlantique, Vendée, Maine et Loire) ou à distance.

  5. #25
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonjour!

    Ce sujet m'a beaucoup intéressée, j'ai pu utiliser le calendrier dans mon projet, j'ai également utilisé la solution de Papy Turbo pour mettre à jour la date du calendrier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.axCalendrier.Value = Now()
    Mais la date reste toujours la même! Celle de la date de création de mon contrôle! Même en modifiant pour donner par défaut une valeur différente... Cela ne change rien du tout!

    Par contre, dans les propriétés du calendrier, j'ai défini une date dans value, la date se met bien à jour mais si je déclare value dans le code, cela ne modifie rien!

    L'aide de Microsoft est tellement claire que je ne retrouve pas ces informations!

    Merci d'avance!

    Elena

  6. #26
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    J'essaye de comprendre :
    - tu as, comme Multiclic, 2 formulaires :
    1- qui contient une (ou plusieurs) TextBox pour saisie de la date, on va dire Formulaire "SaisieDates", par ex.
    2- un formulaire contenant uniquement un calendrier, par ex. Formulaire "Calendrier"
    Citation Envoyé par elena
    j'ai également utilisé la solution de Papy Turbo pour mettre à jour la date du calendrier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.axCalendrier.Value = Now()
    dans l'évènement Form_Load() du formulaire "Calendrier" ? Ca, c'est juste pour l'initialiser à la date du jour.
    Remarque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.axCalendrier.Value = Date()
    serait plus juste, vu que l'heure ne nous intéresse pas ! Mais, c'est un détail.
    Citation Envoyé par elena
    Mais la date reste toujours la même! Celle de la date de création de mon contrôle! Même en modifiant pour donner par défaut une valeur différente... Cela ne change rien du tout!
    Là, je ne comprends pas ?
    Une fois le "Calendrier" ouvert, tu cliques dedans pour changer la date ?
    Citation Envoyé par elena
    Par contre, dans les propriétés du calendrier, j'ai défini une date dans value, la date se met bien à jour mais si je déclare value dans le code, cela ne modifie rien!
    Là non plus, je ne comprends pas.
    Tâche de donner + d'explications :
    - code d'ouverture du calendrier,
    - code de retour de la date depuis le calendrier vers la textbox.

    Combien de dates y a t'il sur ton formulaire "SaisieDates" ? Une seule, ou plusieurs ?
    Développement Office, support technique, assistance, sur place (Loire atlantique, Vendée, Maine et Loire) ou à distance.

  7. #27
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci!

    Je viens juste de comprendre mon erreur!
    Je résume mon problème : je cherchais juste à mettre à jour la date affichée à l'ouverture du calendrier : y mettre la date du jour pour que l'utilisateur puisse ensuite sélectionner plus facilement dans le calendrier.

    Cela avait marché correctement le jour où j'ai créé mon calendrier, puis, le lendemain, la date, le calendrier était donc à la date de la veille.

    Je viens juste de voir (grâce au message de Papy turbo) qu'en réalité, j'avais mis le code dans le form_open() et non dans le form_load(). Une erreur de débutant entre ouverture et chargement. Le récupération de la date marche correctement grâce aux indications données dans le sujet.

    Merci beaucoup et désolée d'avoir envoyé un message pour une co....rie de ma part!

  8. #28
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    Juste un petit conseil :
    - au départ ta TextBox de saisie de date (appelons la "txtDate") est vide.
    - il est donc normal que tu affiches le calendrier avec la date du jour.
    - plus tard, il va y avoir une valeur de date pour chaque enregistrement, affichée dans "txtDate",
    - si l'utilisateur veut changer cette date, c'est cette date que tu devrais mettre dans axCalendrier.

    Si tu as fait comme le propose XP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub txtDateDébut_DblClick(Cancel As Integer) 
        DoCmd.OpenForm "frmcalendrier", , , , , , Me.Name & "," & Me.ActiveControl.Name 
    End Sub
    pour passer le nom du formulaire ("SaisieDates" par ex.) et le nom du contrôle (Me.ActiveControl.Name = "txtDate" par ex.), puis, dans le formulaire "frmCalendrier" :
    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
    22
    23
    Option Explicit
    '2 variables au niveau du Module :
    Dim m_frmName As String, m_ctrlName As String 
     
    Private Sub Form_Load
        'récupère le nom du formulaire + nom de la textbox :
        m_frmName = Split(Me.OpenArgs, ",")(0) 
        m_ctrlName = Split(Me.OpenArgs, ",")(1) 
        'mettre la valeur de la textbox dans le calendrier :
        If IsNull(Forms(m_frmName).Controls(m_ctrlName)) Then
            'pas de date : propose aujourd'hui
            axCalendrier.Value = Date()
        Else
            'il y en a une : l'afficher aussi ici
            axCalendrier.Value = Forms(m_frmName).Controls(m_ctrlName)
        End If
    End Sub
     
    Private Sub btnValider_Click() 
        'ici, je met à jour : retour de la date choisie dans le calendrier -> textbox
        Forms(frmName).Controls(ctrlName) = axCalendrier.Value 
        DoCmd.Close 
    End Sub
    J'ai légèrement modifié le code d'XP pour que, à l'ouverture, tu affiches la date qui existait dans ta textbox, au retour tu récupères celle qui a été cliquée dans le calendrier.
    Développement Office, support technique, assistance, sur place (Loire atlantique, Vendée, Maine et Loire) ou à distance.

  9. #29
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci!

    Cela marche super bien et facilite l'utilisation !

    Elena

  10. #30
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 56
    Points : 48
    Points
    48
    Par défaut
    salut a tous,

    moi j'ai utilisé le choix de la fleche. j'ai seulement un petit probleme de la mise à jour de mon champ txtdate voici le code ke j'ai utilisé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Calendar4_Updated(Code As Integer)
     Me.txtDate = Me.Calendar4.Value 
    End Sub
    .

    Mais voila lorsque je que choisi une date dans le controle il n'y a aucune reaction meme kan je mais ce code pour tester:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Calendar4_Updated(Code As Integer)
     msgbox "oki"
    End Sub
    .
    please help me.

  11. #31
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Bonjour, c'est que l'evenement n'est pas bon. As tu essayé sur l'evenement clic ou bien change ?

  12. #32
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 56
    Points : 48
    Points
    48
    Par défaut
    il n'y a que 4 evenement dans le controle activeX les voici :

    - Sur Maj (ou j'ai mit mon evenement)
    - sur entrée
    - sur sortie
    - sur reception focus
    - sur perte focus

  13. #33
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    Salut,

    Ça, ce sont seulement les évènements qu'Access a prévu, pour n'importe quel ActiveX.
    Si tu vas dans le module du formulaire qui contient l'activeX en question,
    - tu cliques, dans la liste en haut à gauche du module (celle qui contient Général et Form et tous les contrôles...), tu sélectionne le nom de ton contrôle (Calendar4 ?) -> Access va créer un évènement par défaut (que tu garderas ou supprimeras), mais surtout
    - tu disposes alors d'une liste complète de tous ses évènements, en haut, à droite.
    Développement Office, support technique, assistance, sur place (Loire atlantique, Vendée, Maine et Loire) ou à distance.

  14. #34
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 56
    Points : 48
    Points
    48
    Par défaut
    je n'avais pas penser.

    OK, ca marche maintenant . Merci encore à toi Papy Turbo

  15. #35
    Futur Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    j'ai essayé le code proposé , sauf que j'utilise un sous formulaire en mode feuille de données . J'obtient ce message d'erreur a l'execution :
    (sousFormMissions etant le nom du sous formulaire )
    pourtant ça marche lorsque j'ouvre le sous formulaire sans passer par le formulaire principal




    qu'est ce qui cloche ?

  16. #36
    Membre confirmé Avatar de milia
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2006
    Messages : 481
    Points : 532
    Points
    532
    Par défaut
    Bonjour,
    j'ai fait exactement tout ce que vous avez dit plus haut, ça fonctionne parfaitement, néanmoins j'aimerais l'utiliser dans plusieurs cas et pour cela à chaque fois il faut créer un nouveau formulaire calendrier comment faire pour en avoir un seul?
    Etant donné que je m'y connais pas trop en programmation vba, j'aimerais de l'aide.

    Merci d'avance

    Ana

  17. #37
    Membre confirmé Avatar de milia
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2006
    Messages : 481
    Points : 532
    Points
    532
    Par défaut [non Resolu]
    En faite je ne comprends pas très bien ça voir pas dutout!!
    Il me met une erreure comme quoi c'est à null mais vu que je comprends pas ce que ça fait, je n'arrive pas à résoudre le problème.

    frmName = Split(Me.OpenArgs, ",")(0)
    ctrlName = Split(Me.OpenArgs, ",")(1)

    Est-ce-que quelqu'un peut m'aider?

    Merci d'avance

  18. #38
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    slt,

    tu as déterré un vieux message qui a abouti sur un tuto :
    http://sinarf.developpez.com/access/outils/datechooser/

    ou sinon une autre solution pour afficher un calendrier (je me fais de la pub au passage) :
    http://arkham46.developpez.com/artic...utboxplus/doc/

  19. #39
    Membre confirmé Avatar de milia
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2006
    Messages : 481
    Points : 532
    Points
    532
    Par défaut [resolu]
    Merci mais je viens juste trouver toute seule hihi
    Et au passage ta pub ne marche pas
    Merci quand même

  20. #40
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Citation Envoyé par milia
    Merci mais je viens juste trouver toute seule hihi
    Et au passage ta pub ne marche pas
    Merci quand même
    Arf ben j'ai remis le bon lien

    De toute façon le principal c'est que tu ais trouvé une méthode qui fonctionne.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. [WD-2003] Mise en place et utilisation d'un contrôle ActiveX
    Par Lorenzole+bo dans le forum VBA Word
    Réponses: 0
    Dernier message: 05/12/2010, 18h49
  2. Le contrôle ActiveX Calendrier
    Par alainGL dans le forum IHM
    Réponses: 2
    Dernier message: 10/03/2008, 15h40
  3. Réponses: 2
    Dernier message: 21/04/2007, 14h59
  4. [VB.NET]Utilisation d'un contrôle ActiveX
    Par Benzeghiba dans le forum Windows Forms
    Réponses: 2
    Dernier message: 12/11/2006, 09h03
  5. Réponses: 1
    Dernier message: 21/02/2006, 17h13

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