Formulaire Userform - ne pas afficher une ligne dans une listbox

Bonjour à tous,

Je réclame à nouveau votre savoir faire car je bloque un peu dans la réalisation de mon premier useform.

Il y a deux userform dans le fichier en PJ.

Pourriez vous me dire comment je peux filtrer dans la listbox1 (dés l'ouverture du userform), et masquer les lignes qui ont une valeur nulle dans la colonne "Chantier"?

Cela est à réaliser sur les deux userform.

Je vous remercie d'avance pour votre aide

Bonjour

Remplacez Function show_data_in_listbox() par ceci

'afficher les donnee dans la listbox'
Sub show_data_in_listbox()
Dim i As Integer

With Me.ListBox1
    .ColumnCount = 30
    .ColumnWidths = "90;90;90;90;90;0;50;50;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;90;90;90;0;0"
    .List = Range("Tableauentree").ListObject.DataBodyRange.Value

    For i = .ListCount - 1 To 0 Step -1
        If .List(i, 0) = "" Then .RemoveItem (i)
    Next i

End With
End Sub

NB : les macros Function n'ont pas de sens ici puisqu'une macro function est toujours sont utilisées et exécutées sur base d'une variable. Donc ce que l'on met entre parenthèses. Enfin je ne pige pas pourquoi je vois cela tout le temps sur le forum.
Pour vous dans vos codes, on mettrait plutot SUB à la place de Function

Si ok et terminé pensez à cloturer

Cordialement

Bonjour Dan,

merci beaucoup pour ta réponse qui convient parfaitement pour le Userform n°1 "forme_entree"

Par contre je n'arrive pas a adapter le code pour le Userform n°2 "forme_sortie".

Cette listbox commence à la colonne AE de ma base de donnée dans l'onglet "ENTREE"

donc il faudrai filtrer la listbox1 et masquer les lignes qui ont une valeur nulle dans la colonne AE de la base de donnée

Pour répondre à ta question, moi j'ai utiliser un site qui s'appelle VBAWRITER.BE et je n'ai aucune connaissance en VBA! Il m'a aidé a créer un code automatiquement.
Peut être un début de réponse à ta question.

Merci beaucoup

re,

Par contre je n'arrive pas a adapter le code pour le Userform n°2 "forme_sortie".
Cette listbox commence à la colonne AE de ma base de donnée dans l'onglet "ENTREE"

Dans l'usf sortie, remplacez Function show_data_in_listbox() par ceci

'afficher les donnee dans listbox'
Sub show_data_in_listbox()
Dim i As Integer

With Me.ListBox1
    .ColumnCount = 19
    .ColumnWidths = "100;0;100;80;75;75;75;0;0;100;0;0;100;0;0;100;60;0;0"
    .List = Range("Tableauentree").ListObject.ListColumns(31).DataBodyRange.Resize(, 17).Value

    For i = .ListCount - 1 To 0 Step -1
        If .List(i, 0) = vbNullString Then .RemoveItem (i)
    Next i
End With
End Sub

Pour répondre à ta question, moi j'ai utiliser un site qui s'appelle VBAWRITER.BE

Je ne connais pas et ce site ne semble pas exister lorsque je fais une recherche. Site belge ?

Encore merci dan,

cela marche parfaitement, il y avait une petite erreur dans ton code que j'ai repris.

'afficher les donnee dans listbox'
Sub show_data_in_listbox()
Dim i As Integer

With Me.ListBox1
    .ColumnCount = 19
    .ColumnWidths = "100;0;100;80;75;75;75;0;0;100;0;0;100;0;0;100;60;0;0"
    .List = Range("Tableauentree").ListObject.ListColumns(31).DataBodyRange.Resize(, 19).Value

    For i = .ListCount - 1 To 0 Step -1
        If .List(i, 0) = vbNullString Then .RemoveItem (i)
    Next i
End With
End Sub

le site internet c'est VBAWRITER.CH, c'est en suisse pardon pas en belgique

Je marque le post comme cloturé.

A bientot et encore merci

Bonjour,

cela marche parfaitement, il y avait une petite erreur dans ton code que j'ai repris.

Ok désolé. C'est dû à mes essais et je n'avais pas corriger.

Je marque le post comme cloturé.

Heu ok mais là le fil est toujours ouvert

NB : Merci pour le site. Cela m'a permis de comprendre pourquoi je vois souvent des codes identiques aux votres et où l'on fait appel à des Function inutilement. Probablement que ce site est utilisé.

Rechercher des sujets similaires à "formulaire userform pas afficher ligne listbox"