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

Access Discussion :

VBA : ajouter une valeur dans une liste déroulante


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 65
    Points : 53
    Points
    53
    Par défaut VBA : ajouter une valeur dans une liste déroulante
    Bonjour,

    Ca à l'air tout simple, mais je me galère depuis un bon moment là-dessus :

    J'ai sur un formulaire une liste déroulante, basée sur une table.
    A l'ouverture du formulaire, je souhaiterais ajouter une valeur à cette liste, sans pour autant l'ajouter à ma table.

    J'ai beau chercher cans la FAQ, je ne trouve pas réponse à ma question.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me!MyList.RowSource=Me!MyList.RowSource & ";NouvelElement"
    Ceci est apparemment réservé aux listes de valeurs...

    Est-ce que quelqu'un peut m'aider ?
    Merci d'avance !

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2003
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2003
    Messages : 116
    Points : 146
    Points
    146
    Par défaut
    Si ta liste est basée sur une table, tu ne peux pas rajouter des valeurs qui ne sont pas présentes.

    La seule solution c'est de baser ta liste sur des valeurs et de rajouter les valeurs a l'ouverture de la table et de les enlever à la fermeture du formulaire. Mais attention que ta liste respecte bien les liens entre les tables si la valeur attribuée est dans un champs d'une table

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Ou alors tu base ta liste sur une requete union qui fait la somme de ta table et ta valeur.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 65
    Points : 53
    Points
    53
    Par défaut
    Bonjour, j'ai finalement trouvé solution à mon problème : ajouter par le code toutes les valeurs de ma table, puis après la valeur supplémentaire.

    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
    24
    25
    26
    27
    28
    29
    Private Sub Form_Current()
        Dim qdf As DAO.QueryDef
        Dim rcs As DAO.Recordset
        Dim ma_req As Variant
        Dim nb_enreg As Integer
        Dim i As Integer
     
        ma_req = "RQ"
     
        Set qdf = CurrentDb.QueryDefs(ma_req)
        Set rcs = qdf.OpenRecordset
     
        rcs.MoveLast
        rcs.MoveFirst
        nb_enreg = rcs.RecordCount
     
     
    For i = 1 To nb_enreg
        If i = 1 Then
            rcs.MoveFirst
            MaListe.RowSource = rcs![champ]
        Else
            rcs.MoveNext
            MaListe.RowSource = MaListe.RowSource & ";" & rcs![champ]
        End If
    Next
            MaListe.RowSource = MaListe.RowSource & ";Ma valeur supplémentaire"
     
    End Sub
    Merci à ceux qui ont bien voulu m'aider !

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Attention : cette méthode a ses limites. Tu est limité dans la taille de ta liste. Voir le post :
    http://www.developpez.net/forums/vie...light=#2455551

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Réponses: 2
    Dernier message: 09/02/2011, 14h39
  3. ajouter des valeurs dans une ComboBox (zone de liste modifiable)
    Par ghosty04 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/12/2008, 18h11
  4. Réponses: 7
    Dernier message: 27/05/2008, 13h59
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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