[RESOLU] Remplir listbox en supprimant cellules vide.

  • Initiateur de la discussion Initiateur de la discussion zeltron24
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

zeltron24

XLDnaute Impliqué
Bonsoir le forum,

Dans une feuille nommée "Stade" j'ai inséré une listeBox. Lorsque je clique dessus en mode création, j'ai la formule suivante
=INCORPORER("Forms.ComboBox.1";"")

Je souhaiterai remplir ma liste avec les données de la colonne B2 à B500 de la feuille "Suivi" Le problème est que j'ai des cellules vides. J'ai nommé la plage "Noms"
Comment faire pour n'avoir que les cellules contenant quelque chose.
En cherchant un peu partout je ne trouve que des solutions pour des listebox contenus dans des formulaires. mais rien sur les listes déroulante crées dans une feuille.
Merci d'avance si vous pourriez m'aider.
 
Dernière édition:
Re : Remplir listbox en supprimant cellules vide.

Bonsoir zeltron24, le Forum

Il est vrai que faire une boucle sur des cellules vides.......😕 , ne peux-tu pas éviter celles-ci ?
Il faudrait voir la structure de ton fichier, pour cela il nous faudrait un fichier exemple (anonimisé), merci.

@+ 😎
 
Re : Remplir listbox en supprimant cellules vide.

Bonsoir Zeltro, Xhudi, bonsoir le forum,

Une proposition pratiquement identique à celle de Xhudi mais au lieu d'être déclenchée par l'activation de l'onglet (ce qui oblige, à l'ouverture, à cliquer sur un autre onglet puis à revenir sur Stade...), elle se déclenche au clic sur la petite flèche de la ComboBox1. Les données sont actualisées au changement de stade... Code non commenté.
heu Zeltron ! Ne serais-tu pas en train de travailler sur le projet de David pour la coupe du monde ?...
Le fichier :
 

Pièces jointes

Re : Remplir listbox en supprimant cellules vide.

Bonsoir Robert,
Pas du tout je désire créer un fichier perso pour mes entraînements des U7.
ton fichier me produit une Erreur à savoir que lorsque je clique sur la liste, la fenêtre est vide.

Bonsoir xhudi
Impeccable cela fonctionne correctement.

Un grand merci à vous deux et bonne nuit.
 
Dernière édition:
Re : Remplir listbox en supprimant cellules vide.

Bonjour à tous,

Après quelques mise en forme du fichier ci joint, je ne parviens plus à réediter un plateau correctement. J'ai cherché plusieurs solutions sans succès.
Ayant un plateau cette après midi, j'aurai voulu présenté mon projet.
aussi, j'aurai besoin de votre aide si cela est possible.
Problèmes:
- La réédition des joueurs n'est pas correcte
- Pouvoir choisir la réédition par Stade, le souci est qu'il peut avoir plusieurs fois le même Stade.Donc possibilité de choix par Stase et Date.
Merci d'avance pour vos solutions.
 

Pièces jointes

Dernière édition:
Re : Remplir listbox en supprimant cellules vide.

re,
Etant donné qu'aucun secours ne m'est venu (malgré le nombre d'affichage) j'ai pris le taureau par les cornes et suis parvenu à un résultat correct mais pas encore satisfaisant.
Il persiste encore un souci du à la formule dans la feuille Stade relative à CmbAfficher qui m'édite la totalité des cellules B16 à B26 au lieu du nombre correspondant aux joueurs.
Si malgré tout vous auriez une astuce à me fournir, je vous en remercie.
(Genre boucle sur J6 de la feuille Stade qui me donne le nombre de joueurs)
 

Pièces jointes

Re : Remplir listbox en supprimant cellules vide.

Bonjour à tous

re,
Etant donné qu'aucun secours ne m'est venu (malgré le nombre d'affichage)
Le week-end, les secours sont plus long à venir 😉
Il n'y a pas qu'XLD dans la vie 😉

Il y aussi au hasard:
la vie de famille, la coupe David, les taches ménagères, les siestes crapuleuses, le mitonnage de petits plats, la musique, le sport, etc....
 
Re : Remplir listbox en supprimant cellules vide.

Bonjour Staple

Je pensais que sur 123 affichages, il y aurait eu au moins quelqu'un qui se serait "penché" sur le problème.
J'ai de mon coté essayé d'avancer au mieux mais là franchement je bloque.
 
Re : Remplir listbox en supprimant cellules vide.

Bonjour zeltron24, le Forum
Re...re...Bonjour Staple1600 😉😉

Que dire de l'organisation de tes données en Feuil(Suivi) ?
Si dans la Column(1) tu n'avais pas de cellules vides, tu pourrais faire une boucle sur cette colonne et ainsi remplir que les cellules nécessaires en Feuil(Stade).

Je vois ce que je peux faire, si mes vieux neurones comprennent ton articulation.......😛

@+ 😎
 
Re : Remplir listbox en supprimant cellules vide.

Bonjour xhudi et merci encore pour ton aide

Donc en me creusant le "neurone" (qui en principe sert pour autre chose) j'ai trouvé la solution dont voici le code
Code:
Set r = su.Columns(1).Find(Me.CmbAfficher.Value, , xlValues, xlWhole)
If Not r Is Nothing Then
    test = True
    
    c = 16                  ' Rangée B16
    n = Range("J6").Value   ' nombre de joueurs
    x = 0                   ' Colonne Offset
    
    While x <= n            'TANT QUE la variable x est <= à n, la boucle est répétée
    st.Range("B" & c).Value = r.Offset(x, 7)
       x = x + 1            'Le numéro est augmenté de 1 à chaque boucle
       c = c + 1
    Wend
End If

Cela fonctionne impéc.
 

Pièces jointes

Re : Remplir listbox en supprimant cellules vide.

Re,

Cela pourrait être une solution, mais c'est un peu trop compressé (Feuille Suivi)
As tu vu le fichier du dernier post que j'ai mis.
Ce serait plus dans ce style là que je souhaiterai
 
Re : Remplir listbox en supprimant cellules vide.

Salut

c'est le cas où la boucle Do... Loop est plus intéressante mais pas "*".
Code:
Private Sub CmbAfficher_Change()
  If CmbAfficher.ListIndex < 0 Then Exit Sub
  Dim R As Range, n As Byte
  [H19] = [H17]
  [H17] = CmbAfficher
  [B16:C26] = ""
  Set R = Feuil3.[A:A].Find(CmbAfficher, , , 1)
  If R Is Nothing Then Exit Sub
  [D4] = R(1, 2)   ' Date
  [G4] = R(1, 3)   ' Heure
  [D6] = R(1, 4)  ' Stade
  [G6] = R(1, 5)   ' Match
  [J4] = R(1, 6)   ' Plateau
  [J6] = R(1, 7)   ' Nombre de joueurs
  Do
    n = n + 1
    Cells(n + 15, 2) = R(n, 8)
    Cells(n + 15, 3) = R(n, 9)
  Loop While R(n + 1, 8) <> "         " sans * !!!!
End Sub
Pas touché aux autres macros qui méritent simplifications.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

D
Réponses
9
Affichages
2 K
D
N
  • Question Question
Réponses
3
Affichages
4 K
Natsuko
N
A
Réponses
4
Affichages
2 K
alexos
A
F
Réponses
2
Affichages
2 K
francois22
F
S
Réponses
4
Affichages
1 K
seb_sams
S
Retour