XL 2013 VBA excel liste fournisseur

sozy

XLDnaute Nouveau
Bonjour,

je dois afficher sur une feuille la liste des fournisseurs ayant déjà reçu une quantité non livrée et avec le fournisseur le plus critique . Le nombre de critiques pour chaque fournisseur devra également être.

J'ai réussi à faire un code, cependant le soucis est que la liste de fournisseur ne s'affiche pas.
 

Pièces jointes

  • VBA fournisseur.xlsm
    118.1 KB · Affichages: 24

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Sozy et Bienvenu(e) sur le site.
Règle N°1 : Il est interdit de mettre en pièce jointe un fichier contenant des infos sensibles ( nom, prénom des salariés ... )
Alors si ce fichier est non anonymisé, veuillez le supprimer et le remplacer par un fichier simple et anonyme.
Règle N° 1 de la charte XLD :
 

sozy

XLDnaute Nouveau
Bonjour,

Je vous remercie de votre réponse. Il s'agit d'un simple exercice et non d'un fichier d'une entreprise, c'est pourquoi je l'ai mis en pièce jointe. Aucune information n'est réelle.

Je vous remercie pour votre code, cependant j'aimerai obtenir que la liste des fournisseurs ayant reçu une quantité livrée refusé et non toute la liste des fournisseurs :-(
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Désolé :), mais votre fichier semblait bien réel, surtout au niveau des salariés. Sorry.

J'ai modifié la feuille fournisseur pour avoir ceux refusé et combien de refus.
J'ai rajouté une liste avec refusé et NbRefus.
J'ai mis à jour la Combobox avec la liste de ces fournisseurs.

Par contre vous avez un bug quand on fait Recherché. Je n'ai pas approfondi.
Mais comme vous avez maintenant la liste du nb de refus, ce devrait être plus simple.

En espérant que cela vous aille.
 

Pièces jointes

  • VBA fournisseur(V2).xlsm
    113.9 KB · Affichages: 14

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Regardez dans le VBA quand il se "plante", la ligne incriminée est en jaune. Si vous passez votre souris au dessus des variables, une petite fenêtre vous donne la valeur.
Ainsi lorsqu'il se plante sur Rechercher, c'est à la ligne 19 de Cmd_Rechercher_Click.
Et vous avez i=32767, Opérateur="Legumes et Tradition" et range K vide.
Or i est déclaré en Integer, c'est à dire que sa valeur ne peut aller que de -32768 à +32767 !
Donc passer I en Long améliorerait les choses.
Mais passer en Long pose un autre problème car rien n’arrête la boucle.

Comme dans mes modifs, j'ai dressé la liste des fournisseurs et de leur défaut, autant s'en servir, comme par exemple :
VB:
Private Sub Cmd_Rechercher_Click()
Dim operateur As String
Dim i As Integer            ' Car moins de 32767 fournisseurs ! lol
operateur = Cmb_Four.Value
i = 1
While Sheets("Listes").Cells(i, 9) <> operateur And Sheets("Listes").Cells(i, 9) <> ""
    i = i + 1
Wend
TextBox1.Value = Sheets("Listes").Cells(1, 8)   ' Nb max de refus
TextBox2.Value = Sheets("Listes").Cells(i, 10)  ' Nb refus de celui sélectionné.
End Sub
Mais il y a peut être d'autres trucs à régler, je me suis limiter à ce point.
 

Pièces jointes

  • VBA fournisseur(V4).xlsm
    116.2 KB · Affichages: 6

sozy

XLDnaute Nouveau
Bonjour,

je vous remercie de votre réponse. J'ai à peu près compris la justification.

Au niveau de la liste des fournisseurs, au début j'ai bien la liste que des fournisseurs ayant reçu des quantités refusées mais une fois que j'en choisis un, la liste des fournisseurs redevient complété pourtant le code reste le même.
 

sozy

XLDnaute Nouveau
Je me permets de vous poser une autre question, si jamais vous avez le temps d'y jeter un coup d'oeil.

Voilà, je dois afficher dans une liste déroulante seulement les opérateurs qui ont refusés une commande et cela du plus critique au moins critique. Le plus critique de chaque catégorie doit être mis en évidence. Le nombre de critiques sera également affiché pour chacun d'eux.

J'ai réussi à faire un code mais celui-ci ne fonctionne pas et je ne comprends pas mon erreur. (bouton 5)
 

Pièces jointes

  • VBA fournisseur.xlsm
    120.1 KB · Affichages: 16

sylvanu

XLDnaute Barbatruc
Supporter XLD
J'ai vu où vous avez refusé une commande, mais où trouve t-on les fournisseurs qui ont refusés une commande ? et sur quels critères ?

D'autre part pour le bouton 5, vous avez re commis les mêmes erreurs , bis repetita.
i et j sont integer, donc limités à 32767.

Dans la boyucle While Wend, personne ne limite la boucle. Donc bug quand j=32767.
Vous comparez une liste de fournisseurs avec une liste de CodeFournisseurs, ça ne peut pas marcher.
Il faut comparer avec la colonne1 et non la colonne2 de Fournisseurs, je pense.

Ensuite vous regardez la colonne 7 qui est Refusée. Moi je l'avais pris pour ce que vous avez refusé, non pas pour ce que le fournisseur a refusé. Dans ce cas, mon calcul de problème fournisseur est faux puisque c'est sur cette colonne que je m'appuie.

Je suis perdu !!!:eek:
 

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa