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

VB 6 et antérieur Discussion :

[VB]Combobox initialisation au démarrage.


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 73
    Par défaut [VB]Combobox initialisation au démarrage.
    Bonjour a tous,
    Je vous solicite, aujourd'hui et je pense plus tard aussi car je suis en train de develloper un logiciel enfin bref,
    Mon probleme est double:
    le premier: Ma Combobox ne se met pas a jours au demarrage, en effet, je recupere les informations d'un fichier excel dans la combobox je met la colonne A du fichier excel
    Le deuxieme : comment associer la valeur du champs sélectionner dans la combobox a la valeur correspondante a la meme ligne du fichier excel?

    Je vous met mon code si vous pouvez m'aider je vous en serait tres reconnaissant!


    fonction de ma combobox
    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
     
    Private Sub NumeroRenvoi_Load()
    Dim n As Integer
        Dim objXL As Object ' déclaration d'un objet
        Set objXL = CreateObject("Excel.Application") ' Création de l'objet
    '    Ouverture de la feuille Excel
        objXL.Workbooks.Open FileName:="C:\test.xls"
    '    Copie des valeurs de la colonne A
    '    A partir de la case A1 et jusqu'a ce qu'il n'y ait plus de texte
        n = 1
        Do While objXL.Range("A" & n) <> ""
     
     
            NumeroRenvoi.AddItem objXL.Range("A" & n)
            n = n + 1
        Loop
        objXL.Workbooks.Close
        objXL.Application.Quit
    End Sub
    ------------------------------------------------------------------------------

    En ce qui concerne le deuxieme probleme, je ne sais vraiment pas comment faire

    Par avance merci

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    C'est quoi NumeroRenvoi_Load ?

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 73
    Par défaut
    il sagit pour NumeroRenvoi de ma combobox que j'ai appellé comme cela

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Désolé, mais je n'ai pas l'événement load pour les conbo (VBA97) je ne peux donc pas t'aider mais tu peux tester ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        MaPlage = Range("A1:A15")
        ListBox5.List() = MaPlage
    ou ça

    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
        Dim DernièreLigne, NoColonne, NoLigne, MonTableau()
        Dim ok As Boolean
        ReDim Preserve MonTableau(0)
        NoColonne = 1 ' ********** TU FIXES ICI LE N° DE COLONNE DE TES DONNÉES ********
        Cells(1, 1).Select
        DernièreLigne = ActiveCell.End(xlDown).Row  'DernièreLigneDeTesDonnées
        For i = 1 To DernièreLigne  'Lecture des cellules de la colonne NoColonne
            For j = 0 To k  'relecture du tableau
                ok = LTrim(LCase(Cells(i, NoColonne).Formula)) = LTrim(LCase(MonTableau(j)))
                If ok Then Exit For ' la donnée existe déjà, je sors
                k = k + 1
                ReDim Preserve MonTableau(k)
                MonTableau(k) = Cells(i, NoColonne).Formula
                Exit For
            Next j
        Next i
        For i = 1 To k
            ComboBox1.AddItem MonTableau(i)
        Next i
    A adapter

    A+

  5. #5
    Membre expérimenté
    Inscrit en
    Novembre 2005
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 130
    Par défaut
    Salut ept35 et les autres
    pour que ta Combo se charge au demarrage il faut mettre ton code dans le form_load de ta form VB

    Comme la premiere donnée que tu charges dans ta combo est sur la ligne 1 de ta colonne Excel
    Tu récupères ton ListIdex sur l'évènement clic de ta combo que tu mettras en style DropDownList et tu lui ajoutes 1 pour avoir le numéro de la ligne .

    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
    Private Sub Form_Load()
     
    Dim n As Integer
        Dim objXL As Object ' déclaration d'un objet
        Set objXL = CreateObject("Excel.Application") ' Création de l'objet
    '    Ouverture de la feuille Excel
        objXL.Workbooks.Open FileName:="C:\test.xls"
    '    Copie des valeurs de la colonne A
    '    A partir de la case A1 et jusqu'a ce qu'il n'y ait plus de texte
        attente = DoEvents() 'Pour laisser le temp à Excel de s'ouvrir !
        n = 1
        Do While objXL.Range("A" & n) <> ""
     
            NumeroRenvoi.AddItem objXL.Range("A" & n)
            n = n + 1
        Loop
        objXL.Workbooks.Close
        objXL.Application.Quit
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub NumeroRenvoi_Click()
    Label1.Caption = NumeroRenvoi.ListIndex + 1
    End Sub
    Dis nous
    @+

  6. #6
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Salut

    Ouaip! Le Form_Load, c'est bien pratique. Mais y'a certains trucs qui n'y fonctionne pas toujours bien pour des raisons d'ordre d'exécution ou de création, enfin, sais plus. Si c'est le cas, essaie l'événement Form_Initialize.

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 73
    Par défaut
    cela se charge bien au demarrage merci, mais maintenant, comment associer a mon label la valeur de la ligne selectionné pour la collonne B de mon fichier excel

    ex je selectionne un nom dans ma combobox et je veux sont numero dans le label

    exemple dans mon fichier excel


    Colonne A colonne B
    andre 0628954233255
    sylvain 0478258978778
    ....

    Merci pour tout

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 73
    Par défaut
    Dsl je m'en suis sorti, j'ai d'autre probleme, different, doit je faire un nouveau poste ou bien continuer dans celui la?

    Merci a tous pour votre aide precieux

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

Discussions similaires

  1. Combobox vide au démarrage(?)
    Par chrystobale dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 24/10/2011, 14h33
  2. [Interface]comment initialiser une combobox?
    Par Kenji dans le forum NetBeans
    Réponses: 4
    Dernier message: 22/10/2010, 20h47
  3. combobox :Initialisation combobox
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 02/10/2007, 15h49
  4. [Servlet]Double initialisation au démarrage
    Par fafaworld dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 21/02/2007, 11h31
  5. [VBA-excel]initialiser une combobox dans worksheet
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 20/09/2006, 11h29

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