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 :

Condition dans une combobox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 9
    Par défaut Condition dans une combobox
    Bonsoir,

    J'aimerais savoir comment faire pour ajouter dans ma combobox les éléments de la seconde colonne dont la première est "coca". Ici par exemple, il y aurait dans ma combobox, 12, 14, 12.
    coca 12
    jus 10
    eau 12
    café 14
    vin 13
    coca 14
    coca 12
    vin 10

    J'ai mis ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ComboBox1_Change()
        i = 0
     
        While Selection.Offset(0, 0).Value <> ""
            If Selection.Offset(0, 0).Value = "coca" Then
            ComboBox1.AddItem (Selection.Offset(0, 1).Value)
                i = i + 1
            End If
            Selection.Offset(1, 0).Select
        Wend
    Je suis débutante...
    Merci beaucoup

  2. #2
    Membre chevronné
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Par défaut
    Bonsoir,

    Je ne crois que tu doives utiliser l’événement Change du Combo : une éventuelle mise à jour dépend d’un changement dans la feuille pas dans le combo.

    Voici un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_Initialize()
    Dim c As Range
        For Each c In Selection
            If c = "coca" Then ComboBox1.AddItem c.Offset(0, 1)
        Next
    End Sub
    J’ai utilisé la procédure Initialize du UserForm sur lequel est le Combo, mais l’adaptation est aisée si le Combo est directement sur une feuille par exemple.

    Dans ton code, il y a quelque chose qui ne va pas (du tout ), c’est que la variable i ne sert à rien : elle est incrémentée dans la boucle, mais n’est utilisée nulle part !

    Par ailleurs, les boucles For ... Each sont beaucoup plus pratiques pour parcourir les éléments d’une collection (les feuilles d’un classeur ou, comme ici, les cellules d’une plage.

    Bon courage. C’est en forgeant qu’on devient forgeron

    Cordialement,

Discussions similaires

  1. Multi-selection dans une ComboBox ?
    Par Moloko dans le forum MFC
    Réponses: 5
    Dernier message: 07/07/2021, 17h26
  2. Réponses: 6
    Dernier message: 17/08/2005, 12h38
  3. [VB+IE] Comment sélectionner dans une combobox d'une page IE
    Par danje dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 03/05/2005, 09h10
  4. Introduire une condition dans une requete
    Par DeezerD dans le forum Langage SQL
    Réponses: 9
    Dernier message: 12/10/2004, 18h13
  5. Condition dans une requête
    Par fdloisel dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/08/2004, 16h55

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