Deux bugs avec Listview

Bonjour à tous et toutes.

J'ai quelques soucis sur un projet que je doit présenter.

Mon classeur représente une gestion de stock de pièces détachées.

Sur ma feuille "Tableau de bord", j'aimerais afficher dans un formulaire une listview quand je clic sur le bouton " Afficher le stock mini " ou le bouton " Afficher le stock maxi", l'extraction des 20 plus basses valeurs ou 20 plus hautes valeurs des pièces détachées en se basant sur la feuille "Inventaire".

1 problème que je n'arrive pas à résoudre, sur ma feuille "Opérations", je n'arrive pas à remettre à 0 les données en cliquant sur le bouton "Annuler"

2ème problème, temps de chargement très long...

Merci d'avance à ceux qui pourront m'aider sur mes problèmes!

la taille de mon fichier étant supérieure aux restrictions, merci de m'envoyer un mail à f.jegout@yahoo.fr si vous voulez le recevoir.

Cordialement,

Bonjour superfrancois,

Tu n’as pas joint ton superfichier pour que l’on regarde ton souci ...

ric

Bonjour superfrancois,

Au cas où tu aurais besoin d'anonymiser une copie de ton fichier ...

https://www.excel-pratique.com/fr/utilitaires/anonymisation-donnees

ric

Bonjour. Ce n'est pas un problème d'anonymisation, c'est un problème de taille de fichier !!!!! Comme je ne peux pas insérer un lien Google Drive ou cjoint, je suis un peu bloqué pour fournir mon fichier. J'ai mis mon adresse mail dans le post si tu veux que je te l'envoie.

Merci d'avance ! Et bon dimanche

Bonjour superfrancois,

Une première étape ... l'ouverture du fichier ... à tester sur une copie de ton fichier ... "Prudence Petitpas" oblige ...

Dans le module ThisWorkbook ... remplace la procédure "Workbook_Open" par celle-ci ...

Dis-moi si le résultat est bien le même dans la feuille "Construction" et dans le combobox "Catégorie" de la feuille "Opération" ...

Les While Wend permettaient d'aller prendre des vacances à la plage à attendant l'ouverture du fichier ...

J'ai remplacé par du traitement en variables tableau ... et maintenant ...

Je n'ai pas eu le temps de me couler un café ... et je ne suis pas sûr qu'il n'y ait mieux à faire ...

Je regarderais une fois reposé ...

Private Sub Workbook_Open()

   'affecter les variables

   Dim colonne As Integer, ligne As Integer
   Dim ligne_bd As Integer, plage As Range

   Application.ScreenUpdating = False

   'purge des listes déroulantes

   With Sheets("Opérations")
      .liste_cat.Clear
      .Liste_mod.Clear
      .Liste_piece.Clear
      .liste_cat.Value = ""
      .Liste_mod.Value = ""
      .Liste_piece.Value = ""
   End With

   'purge des colonnes pour listes déroulantes

   For colonne = 2 To 8 Step 2
      ligne = 5
      With Sheets("Construction")
         .Range(.Cells(5, colonne), .Cells(Rows.Count, colonne)).ClearContents
      End With
   Next colonne

   'charger catégories dans la bdd
   Dim tab1, tab2, Dlig As Long, X As Long, Y As Long
   Dlig = Sheets("BDD PRODUITS").Cells(Rows.Count, "A").End(xlUp).Row

   ReDim tab1(1 To Dlig)
   ReDim tab2(1 To 2)

   For X = 2 To Dlig
      Application.EnableEvents = False
      Sheets("BDD PRODUITS").Activate
      tab1(X - 1) = Cells(X, "A").Value
   Next X
   Application.EnableEvents = True

   Y = 1
   For X = LBound(tab1) To UBound(tab1) - 1
      If Len(tab1(X)) > 1 And tab1(X) <> tab1(X + 1) Then
         ReDim Preserve tab2(1 To Y)
         tab2(Y) = tab1(X)
         Y = Y + 1
      End If
   Next X

   With Sheets("Construction")
      Application.EnableEvents = False
      .Activate
      Application.EnableEvents = True
      .Range("B5").Resize(UBound(tab2)) = Application.Transpose(tab2)
      For X = 1 To UBound(tab2)
         Sheets("Opérations").liste_cat.List = Application.Transpose(tab2)
      Next X
   End With

   Application.EnableEvents = False
   Sheets("Opérations").Activate
   Sheets("Opérations").liste_cat.ListIndex = 0

   Sheets("Accueil").Activate
   [_user] = "Invité"
   Connecter
   Application.EnableEvents = True

End Sub

A+

ric

Bonjour Ric,

un grand merci à toi, le temps de démarrage est divisé au moins par 100!!!!!!!

Bon, les combobox de la feuille "Opérations" ne sont pas vides au démarrage, et je n'ai toujours pas trouvé l'astuce pour tout remettre à 0 en cliquant sur le bouton "Annuler".

Mais franchement, je te tire mon chapeau!!!!!!!!

Je me répète, mais un grand merci!!!!!!!

Bonne soirée à toi et au plaisir.

Cordialement,

Bonjour superfrancois,

Pour l'ouverture ... tu n'as pas tiré ton chapeau suffisamment fort ... il n'a pas traversé l'Atlantique ... je ne l'ai pas encore reçu ...

Trêve de blagues ... merci pour l'appréciation ...

Remettre à 0 ... je regarde dès que j'ai un peu de temps ... là ... j'ai la tête pleine avec un autre projet ...

Je reviens bientôt ... espoir ... espoir ...

ric

Bonsoir Ric,

Pas de soucis, ce n'est pas à la minute et tu m'as déjà bien nettoyé mon code!!!!!!!

Bon courage pour tes projets et au plaisir

Cordialement,

Bonjour superfrancois,

Aujourd'hui je suis sur ton fichier ...

A+

ric

Bonjour superfrancois,

J’ai été passablement dérangé par les gens de mon entourage ...

Je ne suis pas sûr d’avoir tout bien complété correctement ...

Je te laisse testé à fond ...

S’il persiste des soucis ... n’hésite pas à m’en faire part ...

A+

ric

P.S. Le fichier est en privé ...

Bonsoir Ric,

je n'ai pas eu le temps de te remercier par avance dans la journée à cause de la dose de boulot de mon côté !

Je me jette de suite sur ton MP et un petit verre de rosé bien frais!!!!

A tout à l'heure pour un retour, mais déjà, merci d'avoir pris de ton temps pour m'aider.

Cordialement,

Bonjour superfrancois,

Dans VBE ... Thisworkbook ... procédure "Private Sub Workbook_Open()" ... tout au bas ... juste avant "End Sub" ...

Ajoute :

 Sheets("Accueil").Activate

Merci pour l'appréciation ... ça fait plaisir d'aider ...

ric

Bonjour,

Je crois que j'ai oublié ...

Sur ma feuille "Tableau de bord", j'aimerais afficher dans un formulaire une listview quand je clic sur le bouton " Afficher le stock mini " ou le bouton " Afficher le stock maxi", l'extraction des 20 plus basses valeurs ou 20 plus hautes valeurs des pièces détachées en se basant sur la feuille "Inventaire".

Je regarde cela dès que possible ...

ric

Nickel pour le démarrage!!!!!

Pas de soucis, ce n'est pas à la minute!!!!!!!!!!! C'est déjà top ce que tu as fait pour m'aider à avancer dans ce projet.

Bonjour superfrancois,

Les stocks mini et maxi ... sont fonctionnels ... il reste à glisser cela dans la listbox à la demande ... ce sera bientôt ...

Mais pour "faire sûr" ... tels disent les acadiens du Nouveau-Brunswick au Canada ... des gens bien sympathiques à la drôle de parlure ...

Tu veux les stocks des 20 plus petites quantités ... donc la listbox pourrait contenir 60 lignes si plusieurs produits ont la même quantité ... c'est bien cela ?

Idem pour les plus grandes quantités ...

Je reviens bientôt ...

ric

Bonjour Ric et encore merci !

Oui, tu as bien compris le principe, surtout qu'avec toutes les pièces déjà en stock au boulot, il restera peu de valeurs à 0 au final !

Bonne journée à toi ;)

Bonjour superfrancois,

Pour les 20 premières petites valeurs ... ça semble fonctionner correctement ...

Mais j'ai découvert une coquille pour les 20 plus grandes valeurs ... algorithme ne fonctionne pas bien,

C'est le dernier bogue ... je reviens dès que possible ...

ric

Pas de soucis Ric, je te fais confiance :)

Bonjour superfrancois,

Dans mon message privé ... j’ai oublié de mentionner que j’ai bousillé des formules ... en les remplaçant par des nombres ... dans la colonne "G" de la feuille "Inventaire" afin d’avoir une plus grande diversité de chiffres différents ...

L’inventaire était trop limité pour tester les 20 plus grandes valeurs et les 20 plus petites valeurs ...

Mais je présume que c’est sans conséquence ... si tu as simplement transféré les codes dans ton fichier de travail ...

Je suis paresseux au niveau des commentaires dans le code ... j’en suis désolé ...

Je ferai un effort sur demande ...

ric

Bonjour Ric,

Pas de soucis t'inquiètes!!!! Je vais prendre un peu de temps pour faire la transition sur mon fichier en cours!

Encore un grand merci à toi ;)

Rechercher des sujets similaires à "deux bugs listview"