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 :

Remplir textbox fonction d'un combobox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut Remplir textbox fonction d'un combobox
    Bonjour tout le monde et merci d'avance
    dans la colonne A de la feuil1 j'ai les codes banques
    dans la colonne B de la feuil1 j'ai les noms banques
    j'arrive à charger le combobox par la code banque mais non pas le nom de la banque qui se change en fonction de la code banque

    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
    Dim f1 As Worksheet
    Dim l1 As Long
    Dim d1 As Object
    Private Sub ComboBox1_Change()
    If IsNumeric(Me.ComboBox1.Value) Then code = CLng(Me.ComboBox1.Value) Else: code = Me.ComboBox1.Value
    '--- Ce que je veux faire c'est remplir le textbox1
    ' TextBox1.Value = ??????????????????
    End Sub
    Private Sub UserForm_Initialize()
        Set f1 = Feuil1
        Set d1 = CreateObject("Scripting.Dictionary")
        l1 = f1.Range("A" & Rows.Count).End(xlUp).Row
            For Each Cell In f1.Range("a2:a" & l1)
                If Cell.Value <> "" Then d1(Cell.Value) = Cell.Value
            Next Cell
                Me.ComboBox1.List = d1.Keys
    End Sub

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Utilises plutôt une Combobox à 2 colonnes, c'est mieux

  3. #3
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    merci pour la réponse rapide mais je sais pas comment faire Combobox à deux colonnes !!! coup de main svp
    j'ai essayer ca sans résultat
    et aussi je sais pas comment remplir colonne 2 de combobox en fonction colonne 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub UserForm1_Initialize()
        Set f1 = Feuil1
        Set d1 = CreateObject("Scripting.Dictionary")
        l1 = f1.Range("A" & Rows.Count).End(xlUp).Row
            For Each Cell In f1.Range("a2:a" & l1)
                If Cell.Value <> "" Then d1(Cell.Value) = Cell.Value
            Next Cell
           With ComboBox1
              .Column.Count = 2
              .ColumnWidths = "100 pt;100 pt"
              .Column(1).List = d1.Keys
           End With
    End Sub

  4. #4
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour le fil, bonjour le forum,

    Peut-être comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ComboBox1_Change()
    Dim TV As Variant
    TV = f1.Range("A2:B" & l1)
    For I = 1 To UBound(TV, 1)
        If CStr(TV(I, 1)) = CStr(Me.combobox1.Value) Then TextBox1.Value = TV(I, 2): Exit For
    Next I
     
    'If IsNumeric(Me.ComboBox1.Value) Then code = CLng(Me.ComboBox1.Value) Else: code = Me.ComboBox1.Value
     
    End Sub

  5. #5
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Plutôt comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ComboBox1.ColumnCount = 2
    ComboBox1.ColumnWidths = "50;200"
    ComboBox1.ListWidth = 260
    ComboBox1.List = Range("A1:B7").Value
    A adapter pour l'insertion des données

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Ou sans doublons selon ta méthode
    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
    Private Sub UserForm_Initialize()
    Dim D1 As Object
    Dim i As Long
    Dim Tb
     
    With Me.ComboBox1
        .ColumnCount = 2
        .ColumnWidths = "30;100"
    End With
     
    With Feuil1
        Tb = .Range("A2:B" & .Cells(.Rows.Count, 1).End(xlUp).Row).Value
    End With
     
    Set D1 = CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(Tb, 1)
        If Not D1.Exists(Tb(i, 1)) Then
            D1.Add Tb(i, 1), Tb(i, 2)
            With Me.ComboBox1
                .AddItem Tb(i, 1)
                .List(.ListCount - 1, 1) = Tb(i, 2)
            End With
        End If
    Next i
    Set D1 = Nothing
    End Sub

  7. #7
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour et merci Thautheme, cerede2000, mercatog et merci a tous
    la méthode de mercatog qui élimine les doublons me convient et je vous merci encore

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

Discussions similaires

  1. [XL-2003] Remplir des Textbox fonction du choix d'une Combobox dans un USF - Newbie
    Par Vrancky dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 06/06/2014, 08h30
  2. Remplir textbox par rapport a combobox
    Par Damiens29 dans le forum C#
    Réponses: 0
    Dernier message: 10/01/2013, 15h06
  3. Remplir Textbox en fonction de deux combobox
    Par empirehell dans le forum VBA Access
    Réponses: 10
    Dernier message: 19/07/2010, 08h30
  4. Associer résultat textbox en fonction de plusieurs combobox
    Par Albatros47 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/01/2010, 23h11
  5. Remplir un textbox à partir d'un combobox
    Par gringo96 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 17/08/2006, 19h08

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