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 :

Enlever les cellules vide dans un ComboBox


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Points : 17
    Points
    17
    Par défaut Enlever les cellules vide dans un ComboBox
    Salut à tous. Je dévellope un formulaire en vba.
    J'ai une ComboBox dont le contenu est affiché via une base de données ce trouvant dans une de mes feuille excel grace à RowSource.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ComboBox_1.RowSource = "feuille!A1:A10"
    Dans ma base de donnée ce trouvant sur ma feuille excel, j'ai sauté des lignes pour mieu visualiser ma base. Ma base de donnée contient donc des lignes vide.
    Mon problème, c'est que je ne veux pas que les cellules vide s'affiche dans ma combobox.

    Y aurait t'il un génie qui pourrait répondre à mon problème, car je suis qu'un débutant.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour Dream Master,

    Avant qu'une solution soit trouvée éventuellement, une petite remarque :

    une plage de données comprenant des lignes vides (aucune colonne ne contient des données dans x lignes de cette plage), à mon avis ne peut pas être considérée comme une base de données.

    Amicalement.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Points : 17
    Points
    17
    Par défaut
    D'accord , je suis d'accord avec toi sur ce fait. J'oubli le mot base de donnée.
    Sinon est-il théoriquement possible de taper un code qui sauterai de ligne à chaque fois qu'il rencontre une cellule vide pour en afficher aucune dans ma combobox ?
    Merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Si ta liste n'est pas trop longue tu peux la remplir gràce à la méthode AddItem, en parcourant ta colonne tu testes si ta cellule est vide ou non.
    Si elle n'est pas vide tu la rajoute à ta liste, sinon tu passes à la suivante.

    En attendant une meilleure solution.

    Starec

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Points : 17
    Points
    17
    Par défaut
    Merci pour le petit tuyau. La méthode me semble pas mal. Je vais me mettre à la tache, mais ne connaissant pas la méthode additem je pense que ceci sera un peu long.
    Encore Merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re Dream Master,

    Staranc vous a donné la solution. Un exemple pour l'appliquer :

    Dans un module vous copiez le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public dl, i As Long
    Public c As Integer
    Public text As String
    
    Sub dernlign()
    Dim ComboBox_1 As ComboBox
    Sheets("Feuil1").Activate
    dl = Range("A65536").End(xlUp).Row
    'N° de la colonne contenant les données (modifier éventuellement)
    c = 1
    Load UserForm1
    UserForm1.Show
    End Sub
    Dans la feuille Userform1 vous copiez ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub UserForm_Initialize()
    For i = 1 To dl
    text = Cells(i, c)
    If text <> "" Then
    ComboBox_1.AddItem text
    End If
    Next i
    End Sub
    Amicalement.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    Salut,

    Par rapport a un probleme que j'ai poste un peu plus tot, j'essaie desesperemment d'autres trucs, et ce topic m'a semble pas mal.

    Le probleme, c'est qu'une fois que j'ai cree la ComboBox, dans mon fichier Excel, je ne peux pas cliquer sur la fleche pour voir apparaitre les choix.

    Il doit y avoir une manipe a la con mais je sais pas ou je peux la trouver.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonsoir Enricoo,

    Juste pour préciser, ne le prenez pas mal, mais il me semble que cela doit être expliqué dans les règles du forum :

    il vaut mieux créer un nouveau sujet avec une questions précise, par exemple, dans votre cas :

    "Création ComboBox : pas de flèche pour choix ?"

    et faire référence au sujet qui vous a intéressé en insérant le lien.

    Car interférer dans un sujet existant ne facilite pas les réponses, ni la lecture des réponses pour l'initiateur du sujet.

    Donc en ce qui concerne Dream Master :

    il peut trouver de nouvelles réponses ci-dessus.

    En ce qui concerne votre question la 1ère réponse peut être totalement différente.

    Amicalement.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Points : 17
    Points
    17
    Par défaut
    Merci jacques_jean pour ton code, il a fonctionné pour ma combobox.
    Par contre j'ai aussi une listebox dans mon application, j'ai voulu faire de meme, mais ça n'a pas marché.
    Est-il possible de le faire avec une listebox ?

    Encore Merci

    Dream Master

  10. #10
    Invité
    Invité(e)
    Par défaut
    Re Dream Master,

    Pas de problème, à priori pour la ListBox, j'ai modifié le code de la feuille Userform1 et cela a fonctionné. Evidemment il faudra adapter les variables car ici j'ai utilisé la même plage pour la liste et ce ne sera sans doute pas votre cas :

    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
    Private Sub UserForm_Initialize()
    For i = 1 To dl
    text = Cells(i, c)
    If text <> "" Then
    ComboBox_1.AddItem text
    End If
    Next i
     
    For i = 1 To dl
    text = Cells(i, c)
    If text <> "" Then
    ListBox1.AddItem text
    End If
    Next i
    End Sub
    Amicalement.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Points : 17
    Points
    17
    Par défaut
    Merci jacques_jean c'est ce que j'avais fait moi aussi, mais ma listbox affichait toujours les cellules vides . Mais c'est bon j'ai résolu le problème. Celui ci venait de la base (la feuille excel ou je venais chercher mes données).
    En fait je me suis placé sur les cellules vide et j'ai appuiyé sur la touche suppr du clavier pour supprimer le contenu des cellules (qui étaient déja vide, en tout cas à vue d'oeil), et maintenant sa marche. Donc ton code fonctionne bien aussi pour les Listbox. Apparement les cellules contenaient des infos invisible,sans doute un espace (peut-etre à cause des copier, coller répétitif) bof, je sais pas trop.
    Encore Merci

    Dream master

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

Discussions similaires

  1. Remplir les cellules vides dans une boucle
    Par zoltar_x dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/11/2011, 18h35
  2. [XL-2007] Ignorer les cellules vides dans une combo-box
    Par Esak59 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/02/2011, 11h54
  3. [XL-2003] Les cellules (vides) dans un tableau croisé dynamique
    Par Mauna dans le forum Excel
    Réponses: 12
    Dernier message: 12/05/2009, 09h44
  4. Trouver les cellules vides dans un tableau de cellules
    Par ricololo dans le forum MATLAB
    Réponses: 12
    Dernier message: 13/11/2008, 15h11
  5. Afficher les cellules vides...
    Par Invité dans le forum ASP
    Réponses: 1
    Dernier message: 31/08/2005, 17h32

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