Listbox conditonnelle

julien34

XLDnaute Occasionnel
Bonjour,

Je m'adresse à vous ce jour car confronté à un problème.

Je m'explique....

J'ai un formulaire en feuil 1 dont les infos sont renvoyées en feuil2 (base).
Pour chaque client, il est stipulé s'il faut effectuer une relance et a quelle date. Seulement certains clients n'ont pas besoin de relance, ils sont à jour.

Ma question est la suivante:
Est ce possible d'afficher une listbox (via bouton), me permettant de montrer uniquement les clients qui ont besoin d’être relancés (histoire d'avoir un bouton "consulter la liste des taches")

J’espère avoir été clair. Pas facile à expliquer.
D'avance merci
Julien
 

julien34

XLDnaute Occasionnel
Re : Listbox conditonnelle

Re,

Je joins ici un fichier ultra simplifié où tout n'est pas fonctionnel d'ailleurs mais peu importe. C'est plus facile à s'y retrouver.

Voilà l'objectif
Il y a 2 entrées dans la base (la 1ere "OCC101" et la 2ème "OCC102")
OCC102 uniquement contient des "taches" (Voir colonne AA ET AB dans la base)

Je souhaite avoir une macro qui n'afficherait que les lignes de la base où il y a des taches( cad quand AA ET AB sont non vides)
Cette macro ouvrirait une listbox (N° dossier, nom, prénom, relance, relancer le ...)

Espérant que ce fichier parlera mieux que moi .....
D'avance merci
Julien
 

Pièces jointes

  • FORM SIMPLIFIE POUR AIDE FORUM.xlsm
    40.4 KB · Affichages: 186
  • FORM SIMPLIFIE POUR AIDE FORUM.xlsm
    40.4 KB · Affichages: 165
  • FORM SIMPLIFIE POUR AIDE FORUM.xlsm
    40.4 KB · Affichages: 169

klin89

XLDnaute Accro

julien34

XLDnaute Occasionnel
Re : Listbox conditonnelle

Re Klin, le forum

Je suis débutant donc j'ai du mal à adapter ce code. Pourrais tu m'aiguiller ?
Voilà mon code de base sans conditions

Private Sub UserForm_Initialize()
Dim Plage As Range 'Définition de Plage
i = Feuil2.Range("A65536").End(xlUp).Row
Set Plage = Feuil2.Range("A1: DB" & i) 'Définition de la plage de A à la colonne DB et dernière cellule de la colonne DB
ListBox1.List = Plage.Value 'Remplit la listbox avec la plage de cellule définit ci-dessus
End Sub

Merci ;)
 

Yaloo

XLDnaute Barbatruc
Re : Listbox conditonnelle

Bonjour Julien, le forum,

Voici ton fichier adapté avec le lien de Klin

A+

Yaloo
 

Pièces jointes

  • FORM SIMPLIFIE POUR AIDE FORUM.xlsm
    45 KB · Affichages: 184
  • FORM SIMPLIFIE POUR AIDE FORUM.xlsm
    45 KB · Affichages: 183
  • FORM SIMPLIFIE POUR AIDE FORUM.xlsm
    45 KB · Affichages: 190

julien34

XLDnaute Occasionnel
Re : Listbox conditonnelle

Bonjour Yaloo et merci ........encore!

Écoute je n'arrive pas à l'intégrer à mon fichier final. Je ne comprends pas pourquoi! Vois tu un pb ds ce code?
Je te mets en pièce jointe ce que j'obtiens.

Mon code est
Private Sub UserForm_Initialize()
k = 0
With Sheets("Base")
For i = 2 To .[A65000].End(xlUp).Row
If .Cells(i, 106) > 0 Then
Me.ListBox1.AddItem
Me.ListBox1.List(k, 0) = .Cells(i, 1) 'colonne num dossier'
Me.ListBox1.List(k, 1) = .Cells(i, 3) 'colonne nom'
Me.ListBox1.List(k, 2) = .Cells(i, 4) 'colonne prénom'
Me.ListBox1.List(k, 3) = .Cells(i, 10) 'colonne marque
Me.ListBox1.List(k, 4) = .Cells(i, 11) 'colonne modèle
Me.ListBox1.List(k, 5) = .Cells(i, 105) 'colonne actions
Me.ListBox1.List(k, 6) = .Cells(i, 106) 'colonne relance le
k = k + 1
End If
Next i
End With
End Sub
 

Pièces jointes

  • img pour yaloo.jpg
    img pour yaloo.jpg
    44.4 KB · Affichages: 187

julien34

XLDnaute Occasionnel
Re : Listbox conditonnelle

Re Yaloo,

Oui justement je pense que tu as localisé le pb !
Mais pourquoi dans ton exemple tu as ColumnCount 7 ??????

Alors que les 2 infos qui nous intéressent sont respectivement à la colonne 27 et 28 ???

Peux tu m'éclairer?
 

klin89

XLDnaute Accro
Re : Listbox conditonnelle

Re à tous,

Une Listbox est limitée à 10 colonnes.

Sinon remplaces ceci :
Code:
If .Cells(i, 106) > 0 Then
Par :
Code:
If Not IsEmpty(.Cells(i, 27)) And Not IsEmpty(.Cells(i, 28)) Then
Qui correspond aux cellules des colonnes AA et AB

Klin89
 

julien34

XLDnaute Occasionnel
Re : Listbox conditonnelle

Re,

J'ai peut être parler trop vite.....
Voilà mon code qui ne fonctionne pas ! Y voyez vous un pb
Il m'affiche l'entrée 1,2 et 4 de la base. Alors que l'entrée 1 uniquement devrait s'afficher (voir photo en PJ)

PS: J'ai essayé d'intégrer le code dans mon fichier final (les colonnes 27 et 28 de laa base sont passées en 105 et 106 mais ça ne change rien à priori)

Private Sub UserForm_Initialize()
k = 0
With Sheets("Base")
For i = 2 To .[A65000].End(xlUp).Row
If Not IsEmpty(.Cells(i, 105)) And Not IsEmpty(.Cells(i, 106)) Then
Me.ListBox1.AddItem
Me.ListBox1.List(k, 0) = .Cells(i, 1)
Me.ListBox1.List(k, 1) = .Cells(i, 3)
Me.ListBox1.List(k, 2) = .Cells(i, 4)
Me.ListBox1.List(k, 3) = .Cells(i, 10)
Me.ListBox1.List(k, 4) = .Cells(i, 11)
Me.ListBox1.List(k, 5) = .Cells(i, 105)
Me.ListBox1.List(k, 6) = .Cells(i, 106)
k = k + 1
End If
Next i
End With
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub

Dans l'attente de vos réactions, merci
Julien
 

Pièces jointes

  • img aide forum.jpg
    img aide forum.jpg
    26.5 KB · Affichages: 176

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 312
Membres
102 860
dernier inscrit
fredo67