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

VBA Discussion :

Suppression des blancs dans une ComboBox


Sujet :

VBA

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Suppression des blancs dans une ComboBox
    Bonjour,

    J'ai une Combobox qui se réfère à une colonne qui n'est pas entièrement remplie.

    Je souhaiterais supprimer les blancs dans cette ComboBox afin d'afficher une liste sans vides entre les sélections.

    Merci de votre aide

  2. #2
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 38
    Points : 39
    Points
    39
    Par défaut
    Utilise une boucle for

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For i=0 to FinDeTaColonne
    if feuil.range("X").text <> "" then
    Combobox.AddItem(Feuil.range("X").Text
    endif
    next i

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Lorsque j'incorpore la boucle for dans mon programme, j'ai une erreur de compilation au niveau du ".Range"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    For Each ch_agce In Me.Controls
            If Left(ch_agce.Name, 12) = "Choix_agence" Then
                ch_agce.RowSource = "Agences!E2:E1200"
     
                For i = 2 To 1200
                If Agences.Range("E" & i).Text <> "" Then
                ComboBox.AddItem (Agences.Range("E" & i).Text)
                End If
                Next i
     
            End If
        Next
    Je n'arrive pas à comprendre mon erreur

  4. #4
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 38
    Points : 39
    Points
    39
    Par défaut
    Sur le code que tu as mis, je ne vois pas d'erreur.
    Agences est bien une feuille Excel?
    C'est quoi l'erreur qui est mis ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    "Agences" est bien une feuille de mon fichier Excel.

    Dans cette feuille, je récupère la colonne E de la ligne 2 à la ligne 1200 que je mets dans la ComboBox. Certaines lignes de cette colonne sont vides et apparaissent dans la sélection de la ComboBox.
    Mon objectif est d'enlever ces sélections vides.

    L'erreur indiquée est:
    "Membre de méthode ou de données introuvable"

  6. #6
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 38
    Points : 39
    Points
    39
    Par défaut
    J'ai fais un petit test et moi çà marche.
    Si tu fais un msgbox de Agences.Range("E" & i).Text, ca te donne quoi ?

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    J'ai enfin réussi.
    Je me suis fait un exemple plus simple dans lequel j'ai cherché un petit peu et ensuite j'ai réadapté le bout de programme dans mon code de travail.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    For Each ch_agce In Me.Controls
            If Left(ch_agce.Name, 12) = "Choix_agence" Then
     
                For i = 2 To 1200
                If Sheets("Agences").Range("E" & i).Text <> "" Then
                ch_agce.AddItem (Sheets("Agences").Range("E" & i).Text)
                End If
                Next i
     
            End If
        Next
    Merci Corlo pour le morceaux de code qui m'était bien utile

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

Discussions similaires

  1. [XL-2003] suppression des doublons dans une Combobox
    Par karim19 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/10/2009, 16h42
  2. Suppression de blancs dans une colonne
    Par DreammyKetty dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/07/2007, 11h28
  3. [Free Pascal] Suppression des espaces dans une chaîne
    Par Maxence45 dans le forum Free Pascal
    Réponses: 43
    Dernier message: 18/03/2007, 11h29
  4. Réponses: 3
    Dernier message: 31/01/2005, 23h18
  5. [Lisp] Suppression des parenthèses dans une liste
    Par bourdaillet dans le forum Lisp
    Réponses: 3
    Dernier message: 19/12/2004, 21h02

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