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 :

Année dans une zone de liste déroulante [AC-2007]


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 233
    Points : 63
    Points
    63
    Par défaut Année dans une zone de liste déroulante
    Bonjour,

    J'aimerais savoir si il y a une solution pour avoir les années civiles (depuis 1975 à peu près) dans une zone de liste déroulante ?

    Merci d'avance

  2. #2
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,

    Pourrais-tu nous détailler un peu plus ta demande

    Quel problème as-tu pour avoir ces données dans une Zone de liste déroulante

    Elles peuvent provenir d'une table, voire éventuellement être "générer" de façon dynamique.....
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 233
    Points : 63
    Points
    63
    Par défaut
    en fait c'est juste pour savoir si il existe une solution pour avoir les années dans une ZDl déroulante sans avoir à les taper dans un table, que se soit automatique ( je pense à un code vba ).

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Tu peux t'inspirer de cela : http://www.developpez.net/forums/d41...ulante-annees/

    Philippe

  5. #5
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    OK.....

    Mais as-tu vraiment besoin de l'ensemble de TOUTES ces dates dans ta ZdL

    ...car sinon, tu remplace par un champ de type Date.....et tu active sa propriété "Afficher le sélecteur de date = À certaines dates"

    ...sinon, il me semble, qu'à partir de EXCEL tu peux générer de façon simple toute les dates pour une année donnée...à voir

    Sinon la solution de Philippe JOCHMANS répond parfaitement à ma proposition de "générer" ces dates de façon dynamique...
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 233
    Points : 63
    Points
    63
    Par défaut
    Le code ne fonctionne pas pour Access 2007 !!!
    La zone de liste déroulante reste vide

  7. #7
    Invité
    Invité(e)
    Par défaut
    Re

    Je viens de tester cela sous Access 2007 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub cboAnnee_GotFocus()
        Dim i As Integer
        With Me.cboAnnee
            .RowSource = ""
            .RowSourceType = "Value List"
        End With
        For i = 1 To 5
            Me.cboAnnee.AddItem Year(DateAdd("yyyy", i - 2, Date))
        Next i
     
    End Sub
    Philippe

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 233
    Points : 63
    Points
    63
    Par défaut
    il faut bien rentrer ce code en code évènement de la Zdl déroulante ???

  9. #9
    Invité
    Invité(e)
    Par défaut
    Re

    Oui sur l'évènement GotFocus (Sur réception Focus).

    Philippe

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 233
    Points : 63
    Points
    63
    Par défaut
    il y a d'autres paramètres à prendre en compte ??
    Pour le moment ma Zdl est tjs vide

  11. #11
    Invité
    Invité(e)
    Par défaut
    cela fonctionne parfaitement chez moi.

    Peux-tu mettre le code que tu as mis sur le forum ? et où tu l'as mis.

    Philippe

  12. #12
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 233
    Points : 63
    Points
    63
    Par défaut
    voici le code de ma ZDL

    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
    Option Compare Database
     
    Private Sub cboAnnee_GotFocus()
        Dim i As Integer
        With Me.cboAnnee
            .RowSource = ""
            .RowSourceType = "Value List"
        End With
        For i = 1 To 5
            Me.cboAnnee.AddItem Year(DateAdd("yyyy", i - 2, Date))
        Next i
    End Sub
     
    Private Sub Année_GotFocus()
     
    End Sub
    ce code est sur réception focus : procédure évenementielle

    Le type de données dans ma table est bien : date/heure

  13. #13
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,

    Je pense qu'un petit éclaircissement s'impose...

    @ manusp
    - ta Zdl doit être nommée cboAnnee
    - sur l'événement "Sur réception focus" tu entre le code proposé....
    -.....et puis c'est tout......dès que tu cliquera sur ta Zdl, le code VBA va générer automatiquement et remplir de façon dynamique (AddItem) les éléments de ta liste.
    La liste proposée sera toujours composée uniquement de l'année en cours - 1, suivie des quatre suivantes (2010, 2011, 2012, 2013, 2014)

    ...Le type de données dans ma table est bien : date/heure
    que vient faire ici cette notion de table

    Pour ma part, je pense, que pour résoudre rapidement ton problème.........il faudrait nous redire exactement ce que tu souhaite et pourquoi....

    ..avoir les années civiles (depuis 1975 à peu près) dans une zone de liste déroulante
    Pour moi, une année civile, correspond à une période de date entre le 1er janvier et le 31 décembre d'une année (pour faire simple 365 jours.....)

    ...et tu désire avoir dans cette ZdL, toutes les dates depuis l'année 1975 jusqu'à aujourd'hui.....soit à la louche 35 ans x 365 jours = 12775 dates + 21 jours de 2011 = 12796 dates différentes.....

    Pas trop conviviale ta ZdL...

    Maintenant, si ton but est juste de "contrôler" la saisie d'une date "bornée" entre deux périodes......l'utilisation d'un contrôle Texte ayant les propriétés suivantes est largement suffisante:
    - Format = date abrégé
    - Afficher le sélecteur de dates = à certaines dates

    ....en fin de saisie, tu contrôle que cette date appartient bien à la période souhaitée...

    Tu peux également utiliser un contrôle Calendrier.....
    Calendrier de saisie sous une zone de texte
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  14. #14
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 233
    Points : 63
    Points
    63
    Par défaut
    Je n'avais pas ajouté "cboannee" comme nom de ma Zdl.

    donc maintenant ça fonctionne beaucoup mieux
    merci à vous 2

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 14
    Dernier message: 21/03/2008, 19h21
  2. Affichage des valeurs disponibles dans une zone de liste déroulante
    Par azerty dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/06/2007, 12h29
  3. Réponses: 2
    Dernier message: 26/10/2006, 09h47
  4. Enregistrement dans une Zone de liste déroulante
    Par w3sk3r dans le forum Access
    Réponses: 23
    Dernier message: 20/08/2006, 19h10
  5. Réponses: 8
    Dernier message: 24/02/2006, 09h59

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