Faire apparaitre les produits <2 mois dans ma listebox

  • Initiateur de la discussion Initiateur de la discussion aziz
  • 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 !

aziz

XLDnaute Occasionnel
Bonjour à tous et merci de votre aide
En cliquant sur le bouton Modification, je souhaiterai faire apparaître dans ma liste uniquement les produits
dont la couverture en mois est inférieur à 2 (voir la colonne H onglet récapitulatif)

Merci à tous
 

Pièces jointes

Re : Faire apparaitre les produits <2 mois dans ma listebox

Bonjour

en rajoutant un test sur cette colonne H

Dans Private Sub UserForm_Initialize() de la Userform1 rajouter, juste après For x = 2 To Sheets("RÉCAPITULATIF")...
Code:
 If Sheets("RÉCAPITULATIF").Cells(x, 8) < 2 Then

ne pas oublier le End If juste avant Next x

Bonne suite
 
Re : Faire apparaitre les produits <2 mois dans ma listebox

Re,

puisqu'il faut tout répéter deux fois (cf post #2) :

ne pas oublier le End If juste avant Next x, donc rajouter la ligne de code: End If juste avant la ligne Next x

Bon courage
 
Re : Faire apparaitre les produits <2 mois dans ma listebox

Par contre j'ai essayer ceci, pour ne pas faire apparaitre les cellules vides de la colonne H
et cela ne veux pas fonctionner. Ou est l'erreur ? Merci

If Sheets("RÉCAPITULATIF").Cells(x, 8) <> "" <2 Then
 
Re : Faire apparaitre les produits <2 mois dans ma listebox

Bonjour Azi, Pat, le forum

tes boucles ne sont par fermées, je permettrai de te 2 conseils:

1) quand tu écris un for... , ecris le next tout de suite puis tu insères ton code , idem pour un with end with

2) regarde ici, un outil bien pratique : Office Automation Ltd. - Smart Indenter


ton
For x = 2 To Sheets("RÉCAPITULATIF").Range("C65536").End(xlUp).Row
If Sheets("RÉCAPITULATIF").Cells(x, 8) < 2 Then
With Me.ListBox1 'prend en compte la ListBox1
.AddItem Sheets("RÉCAPITULATIF").Cells(x, 1) 'ajoute la valeur de la colonne A
.Column(1, .ListCount - 1) = Sheets("RÉCAPITULATIF").Cells(x, 3) 'ajoute la valeur de la colonne B
.Column(2, .ListCount - 1) = Sheets("RÉCAPITULATIF").Cells(x, 4) 'ajoute la valeur de la colonne C
.Column(3, .ListCount - 1) = Sheets("RÉCAPITULATIF").Cells(x, 5) 'ajoute la valeur de la colonne D
.Column(4, .ListCount - 1) = Sheets("RÉCAPITULATIF").Cells(x, 6) 'ajoute la valeur de la colonne E
.Column(5, .ListCount - 1) = Sheets("RÉCAPITULATIF").Cells(x, 7) 'ajoute la valeur de la colonne F
.Column(6, .ListCount - 1) = Sheets("RÉCAPITULATIF").Cells(x, 8) 'ajoute la valeur de la colonne G
End With 'fin de la prise en compte de la ListBox1
End If
Next x 'prochaine cellule de la boucle
 
Re : Faire apparaitre les produits <2 mois dans ma listebox

Re

on commence la boucle x 'représentant le N° de ligne) à 2 . La ligne de titre est en ligne 3 et les données commencent en ligne 4.

quand x=3, on traite la ligne de titre avec
If Sheets("RÉCAPITULATIF").Cells(x, 8) <> "" And Sheets("RÉCAPITULATIF").Cells(x, 8) < 2 Then

mais en ligne 3 colonne 8 (H3) on trouve Couverture en mois, et ce n'est ni <>"" ni <2, donc la ligne n'est pas chargée.

Pour avoir la ligne de titre dans la listbox, il faudrait, avant la boucle For x.... de chargement de la listbox, quelques instructions pour charger la ligne de titre.

Code:
'***************************
'alimentation de la ListBox1
'***************************
'chargement ligne de titre
    With Me.ListBox1 'prend en compte la ListBox1
        .AddItem Sheets("RÉCAPITULATIF").Cells(3, 1) 'ajoute la valeur de la colonne A
        .Column(1, .ListCount - 1) = Sheets("RÉCAPITULATIF").Cells(3, 3) 'ajoute la valeur de la colonne B
        .Column(2, .ListCount - 1) = Sheets("RÉCAPITULATIF").Cells(3, 4) 'ajoute la valeur de la colonne C
        .Column(3, .ListCount - 1) = Sheets("RÉCAPITULATIF").Cells(3, 5) 'ajoute la valeur de la colonne D
        .Column(4, .ListCount - 1) = Sheets("RÉCAPITULATIF").Cells(3, 6) 'ajoute la valeur de la colonne E
        .Column(5, .ListCount - 1) = Sheets("RÉCAPITULATIF").Cells(3, 7) 'ajoute la valeur de la colonne F
        .Column(6, .ListCount - 1) = Sheets("RÉCAPITULATIF").Cells(3, 8) 'ajoute la valeur de la colonne G
    End With 'fin de la prise en compte de la ListBox1

'boucles sur toutes les cellules éditées de la colonne C de l'onglet "Feuil2"
For x = 2 To Sheets("RÉCAPITULATIF").Range("C65536").End(xlUp).Row
...
...

A+
 
- 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

  • Question Question
Microsoft 365 Problème Code VBA
Réponses
9
Affichages
530
Réponses
12
Affichages
684
Retour