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 :

Affichage sélectif d'items composant une liste [XL-2007]


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
    Artisan
    Inscrit en
    Février 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Artisan
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2012
    Messages : 32
    Par défaut Affichage sélectif d'items composant une liste
    Amis du forum bonjour,

    Je cherche une solution pour afficher le contenu d'une liste mais de façon sélective.

    Cette liste prend sa source dans une base de données (BD_FACTURES)suivant des numéros de facture et est affichée dans un combo box (CboxNumFact) d'un formulaire (FrmEnregistrement).
    Côté EXCEL(Gestionnaire) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(BD_FACTURES!$B$1;1;;NBVAL(BD_FACTURES!$B:$B)-1)
    Côté Frm :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.CboxNumFact.RowSource = ("BD_FACTURES!List_Factures")
    Info : Ce formulaire sert à mettre à jour les encours clients

    Je souhaiterai que le combo box n'affiche uniquement que les numéros de facture, dont les cellules correspondantes à la valeur de l'encours client sont vides.

    Je ne sais pas si cette action est réalisable ou peut être me faut-il utiliser autre chose qu'un combo box?

    Si quelqu'un à une idée sur le sujet, je suis plutôt niveau débutant.
    Merci par avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    En admettant que la plage des encours s'appelle : List_Encours :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Dim c As Range
        Me.CboxNumFact.Clear
        For Each c In [List_Factures]
            If IsNumeric(Application.Match(c.Value, [List_Encours], 0)) Then
                Me.CboxNumFact.AddItem c.Value
            End If
        Next c

  3. #3
    Membre averti
    Homme Profil pro
    Artisan
    Inscrit en
    Février 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Artisan
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2012
    Messages : 32
    Par défaut
    Bonjour Daniel.C,

    Je vous remercie de m'apporter cette proposition.
    Malheureusement, je ne suis pas sûr de bien la comprendre.

    Je suppose qu'elle doit être placé dans le Private Sub UserForm_Initialize().

    Pour plus de clarté je vais vous faire suivre un fichier xlms si vous êtes d'accord : Suivi_Encours.zip

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Effectivement, je n'étais pas bon. Je n'ai pas trouvé les encours. J'ai testé à la place la présence du taux de TVA... Il faut donc remplacer la colonne R par l'endroit où se trouvent les encours:

    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 UserForm_Initialize()
     
    'On affecte la liste selective au ComboBox
    'Me.CboxNumFact.RowSource = ("BD_FACTURES!List_Factures")
    Dim c As Range
    Me.CboxNumFact.Clear
    For Each c In [List_Factures]
        If Sheets("BD_FACTURES").Cells(c.Row, "R") <> "" Then
            Me.CboxNumFact.AddItem c.Value
        End If
    Next c
    Me.CboxNumFact.ListIndex = -1
     
    'On affecte les Boutons Option sur un même Groupe
    Me.OptType1.GroupName = "Mode_de_reglement"
    Me.OptType2.GroupName = "Mode_de_reglement"
    Me.OptType3.GroupName = "Mode_de_reglement"
     
    End Sub

  5. #5
    Membre averti
    Homme Profil pro
    Artisan
    Inscrit en
    Février 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Artisan
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2012
    Messages : 32
    Par défaut
    Merci Daniel.C

    Seul le résultat compte, c'est exactement ce que je cherchais. Merci encore.

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

Discussions similaires

  1. [VB6] Double click d'un item dans une list...
    Par Jihnn dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 15/04/2006, 18h56
  2. Sélectionner un item d'une list view
    Par Coussati dans le forum Composants VCL
    Réponses: 4
    Dernier message: 14/02/2006, 22h16
  3. Se positionner sur un item d'une liste déroulante
    Par pyxosledisciple dans le forum IHM
    Réponses: 1
    Dernier message: 08/02/2006, 20h19
  4. Selectionner automatiquement un item dans une liste
    Par nebule dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/12/2004, 17h03
  5. Réponses: 2
    Dernier message: 17/08/2003, 20h07

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