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 :

Combobox à 2 colonnes (EXCEL-ACCES)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 123
    Par défaut Combobox à 2 colonnes (EXCEL-ACCES)
    Bonjour le forum!!!!

    Je souhaite créer une combobox à 2 colonnes, dont les données proviennent d'une base de données access.
    Souci mon programme plante lorsque je souhaite ajouter des éléments à ma combobox (Text en vert)

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Private Sub MiseAjourListeDeroulante()
    
    Dim BD As DAO.Database
    Dim RST As DAO.Recordset
    Dim NbClient, Compteur As Long
    
    Dim ElementList, NbrElement As Integer
    
    Application.StatusBar = "Chargement des Données Administratives Clients en cours. Veuillez patienter..." 'Affichage Message pour utilisateur
    Application.Cursor = xlWait                             'Curseur de la sourie devient un sablier
    
    Set BD = OpenDatabase("R:\Informatique\Formation VBA\toto.mdb") 'Ouverture de la base de données
    'Formulation de la requête : choisir sans doublons dans la table T_article le champ CodeClient
    Requete = "select distinct ucase(Code_Client),Nom_Societe_Client from T_DonneesAdministrativesClient ;"
    
    Set RST = BD.OpenRecordset(Requete)      'Chargement des données suivant la requête
    RST.MoveLast
    RST.MoveFirst
    
    NbClient = RST.RecordCount               'Comptage du nombre de lignes du champ code client
    CboIdentifiantClient.ColumnWidths = NbClient
    CboIdentifiantClient.ColumnWidths = "50; 50"
    For Compteur = 1 To NbClient                  'Boucle de chargement des codes clients
        fmChoixClient.CboIdentifiantClient.AddItem
        CboIdentifiantClient.List(Compteur, 0) = RST.Fields(0)
        CboIdentifiantClient.List(Compteur, 1) = RST.Fields(1)
       RST.MoveNext                         'Passe à la ligne suivante
    Next Compteur
    RST.MoveFirst
    RST.Close                                   'Fermeture de la table
    BD.Close                                     'Fermeture de la base de données
    Set RST = Nothing                        'Déchargement de la mémoire utilisée pour la table
    Set BD = Nothing                          'Déchargement de la mémoire utilisée pour la base
    
    Application.StatusBar = ""               'Initialisation zone message
    Application.Cursor = xlDefault           'Curseur redevient normal
    
    End Sub
    Quelqu'un aurait-il une petite idée???

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Par défaut
    Bonjour,

    Quel est le message d'erreur? Ceci dit je pense que tu peux simplifier ta boucle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With CboIdentifiantClient
        For Compteur = 1 To NbClient       'Boucle de chargement des codes clients
            .AddItem rst.Fields(0).Value
            .List(Compteur, 1) = rst.Fields(1).Value
           rst.MoveNext                         'Passe à la ligne suivante
        Next Compteur
    End With
    Cordialement,

    Tirex28/

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 123
    Par défaut
    Salut Tirex28 !!!

    c'est l'erreur d'éxécution 381 : impossible de définir la propriété de list. Index de table de propriété non valide

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Par défaut
    Re,

    Avec List, les index de lignes et de colonnes commencent à zero.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With CboIdentifiantClient
        For Compteur = 1 To NbClient       'Boucle de chargement des codes clients
            .AddItem rst.Fields(0).Value
            .List(Compteur - 1, 1) = rst.Fields(1).Value
           rst.MoveNext                         'Passe à la ligne suivante
        Next Compteur
    End With
    Cordialement,

    Tirex28/

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 123
    Par défaut
    Parfait TIREX28

    Ca fonctionne bien...

    Merci pour ton aide....

    @+ Jeanvaljean

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

Discussions similaires

  1. Importer que quelques colonnes Excel vers Acces
    Par ston dans le forum Access
    Réponses: 2
    Dernier message: 05/04/2006, 13h51
  2. largeur colonne excel après export
    Par scully2501 dans le forum Access
    Réponses: 6
    Dernier message: 18/06/2005, 10h52
  3. Tri colonne Excel avec Office Partner
    Par Hollow dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/06/2005, 18h37
  4. [VB.NET] [excel] Colonne excel
    Par mikolirto dans le forum Windows Forms
    Réponses: 27
    Dernier message: 05/04/2005, 10h55
  5. [VB.NET] [excel] Pb remplir colonne excel
    Par mikolirto dans le forum Windows Forms
    Réponses: 3
    Dernier message: 01/04/2005, 14h55

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