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 :

VlookUp entre ComboBox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 42
    Par défaut VlookUp entre ComboBox
    bonjour,

    Je vais essayer d'être aussi clair que possible :

    J'aimerais savoir si il est possible de lire la valeur inscrite dans une ComboBox et en fonction de celle-ci (si elle est présente dans une plage de donnée), qu'une autre ComboBox prennent la valeur associé dans la plage de donnée. Voila un exemple de ce que j'ai fait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim data, j As String
     
     
        data = ThisWorkbook.Sheets("RC Data")
     
        If MaterialNameA.Value = "" Then
            Exit Sub
        Else
     
            For j = 2 To data.Range("C65536")
                If Cells(j, 2).Value = MaterialNameA.Value Then
                    ManufacturerName.Value = Cells(j, 3).Value
                End If
            Next j
    merci de votre aide

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,


    Ci dessous le code a mettre dans l'evenement change du combobox1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    ComboBox2.Value = Application.WorksheetFunction.VLookup(ComboBox1.Value, Sheet("RC Data").Range("A:B"), 2, 0)
    Ce code n'a pas été testé mais ca devrait ne pas etre loin

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 42
    Par défaut
    Merci, le code est bon.

    Cependant, je ne peux pas ajouter des données qui n'appartient pas à la plage de donnée...
    La finalité, serais :
    - Si la donnée appartient à la plage, alors il complète automatiquement (ce qu'il fait avec la fonction VlookUp)
    -Si la donnée n'est pas présente, pouvoir l'ajouter... Mais là ça bog !

    J'ai lu que la fonction Find est plus pratique que VlookUp. Dois-je l'utiliser ? Si oui, pouvez vous me donner la structure, je n'ai pas vraiment compris sur l'aide...

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Dans ce cas je ferais plutot comme ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim strRecherche As String
     
    On Error GoTo suite
    ComboBox2.Value = Application.WorksheetFunction.VLookup(ComboBox1.Value, Sheet("RC Data").Range("A:B"), 2, 0)
    Exit Sub
     
    suite:
    ComboBox2.Value = InputBox("ecrire une donnée")

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 42
    Par défaut
    Ca marche... mais pas très bien. L'InputBox apparait dés que la fonction VlookUp ne renvoie aucun résultat.... Mais si le nom du produit est beaucoup plus long, je suis coincé.. je développe :

    Je veux rentrer le nom de mon produit : Toile de verre avec isolation thermique et phonique.

    Dans ma plage de donnée, j'ai Toile de verre. Donc dans ma ComboBox, quand je tape Toile de verre, il me propose le produit qu'il connait. Si j'ajoute un espace, il m'envoie automatiquement l'InputBox. Je ne peux pas entrer le nom du produit en entier...
    Comment palier à cela ?

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Je ne comprend pas bien ce que tu veux dire par

    Je ne peux pas entrer le nom du produit en entier...

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

Discussions similaires

  1. Liens entre combobox et textfield
    Par Hystic dans le forum ASP.NET
    Réponses: 1
    Dernier message: 01/07/2009, 11h49
  2. DataView entre Combobox et label
    Par bobjoumi dans le forum C#
    Réponses: 2
    Dernier message: 12/05/2009, 16h36
  3. Liaison entre ComboBox et TextBox
    Par adil54 dans le forum VB.NET
    Réponses: 2
    Dernier message: 27/08/2008, 16h27
  4. binding entre combobox et datagridview
    Par Mathieu.Nanoux dans le forum Windows Forms
    Réponses: 8
    Dernier message: 08/03/2007, 00h31
  5. [VB2005] lien entre combobox et listbox
    Par Petrolia dans le forum Windows Forms
    Réponses: 20
    Dernier message: 04/06/2006, 14h28

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