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 :

Recherche de données à partir d'un ComboBox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2019
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2019
    Messages : 50
    Par défaut Recherche de données à partir d'un ComboBox
    Bonjour à Toutes et à Tous,
    Autodidacte en VBA, j'ai un problème dont je pense connaître la raison mais que je n'arrive pas à résoudre. A partir du ComboBox1 (initialisé à l'ouverture du fichier), je désire retrouver la valeur de ce ComboBox1 dans la ou les n cellules de la colonne K pour incrémenter en Item le ComboBox2 avec les correspondances des cellules trouvées de la colonne L. ComboBox en cascade.
    Je ne retrouve pas les n solutions possibles par rapport à la valeur recherchée pour incrémenter les Items du ComboBox2.
    Par exemple : pour la valeur "2006", j'ai bien mes 2 Items alors que pour la valeur "2004" je n'en retrouve qu'un au lieu de 3.
    Mon problème est certainement dû à la déclaration des valeurs ; celle du ComboBox1 par rapport à celle(s) de la colonne K. Dans ma colonne K, je sais j'ai du "string" et du "Integer" ou "Long".
    Néanmoins est-il possible d'avoir une solution pour retrouver toutes les valeurs recherchées ou faut-il refondre le tableau pour avoir une année = un lieu par ligne ?
    J'ai essayé avec Find et Find_Next en cherchant sur internet. Mais je ne comprends pas tout dans le code.
    Voir mon fichier joint.
    Par avance merci.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour,
    Citation Envoyé par TchiotPols Voir le message
    Mon problème est certainement dû à la déclaration des valeurs ; celle du ComboBox1 par rapport à celle(s) de la colonne K.
    Tu as bien situé le problème car comme tu as plusieurs années sur la même ligne il ne faut tester que la présence.
    Je te propose ceci
    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 ComboBox1_Change()
    Dim y As Long
    With Sheets("Feuil1")
        .ComboBox2.Clear ' initialise le combo
        For Lig = 2 To 8
            'initialisation de la variable "x" représentant l'année dans la colonne K de l'onglet "Feuil1"
            x = .Cells(Lig, 11).Value
            'initialisation de la variable "y" représentatn la valeur recherchée du ComboBox1
            y = .ComboBox1.Value
            'comparaison des deux valeurs
            If InStr(x, y) > 0 Then 'teste la présence de la valeur du combo dans la ligne
                'sil les 2 variables sont identiques, récupération de la valeur du lieu colonne L
                celval = .Range("L" & Lig).Value
                'ajout de la valeur du lieu trouvé comme item au ComboBox2
                .ComboBox2.AddItem celval
            End If
        Next Lig
    End With
    End Sub
    Cela devrait te donner satisfaction.

  3. #3
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2019
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2019
    Messages : 50
    Par défaut
    Bonjour anasecu,

    Réponse rapide = grand plaisir pour le demandeur... J'ai testé ton code. Cela marche à merveille. Je savais, comme d'habitude sur ce forum, que je trouverai quelqu'un de bien. Un grand merci à toi et bonne continuation.

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

Discussions similaires

  1. [AC-2007] Recherche de données à partir d'un formulaire
    Par Nono075 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 14/12/2013, 14h59
  2. Réponses: 10
    Dernier message: 20/05/2011, 09h20
  3. [VBA|E-03] Fonction recherche à partir d'un combobox
    Par DVano dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/12/2008, 11h58
  4. [C#] Récupération de données à partir d'une combobox
    Par Choumy dans le forum Windows Forms
    Réponses: 10
    Dernier message: 09/02/2008, 18h51
  5. Réponses: 20
    Dernier message: 01/02/2008, 15h21

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