Besoin d'aide avec VBA

yolojo

XLDnaute Occasionnel
Bonjour, j'ai crée ( avec l'aide précieux de certains d'entre vous) un fichier pour gérer les commandes de parfums de mon CE. Le fichier fonctionne normalement avec des listes déroulantes en cascades directement en validation de données.
J'ai voulu l'améliorer en ajoutant un formulaire et là malheureusement mes compétences en VBA me font défaut. J'ai essayé avec plusieurs codes trouvé sur le net, voir même avec des codes tout fait, mais cela ne marche pas. Je n'arrive pas à :
- Gérer les listes déroulantes en cascades
- sélectionner mon choix de saisie (soi en entrant le nom soi avec le numéro)
- faire fonctionner des message d'alerte lorsque des cases ne sont pas remplies (défaut débogage)
- Rentrer les données du formulaire dans mon tableau récapitulatif
Bref, pas grand chose fonctionne !!!
Je vous joints mon fichier si vous avez des idées et surtout des explications.
Merci d'avance
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Besoin d'aide avec VBA

Bonsoir yolojo, le Forum

Voici ma contribution pour t'aider pour la partie "Cascades" de trois ComboBox, décortique bien le code du UserForm2 ci-joint qui est en place sur ton fichier...

Désolé, mais ton UserFormulaire est trop tarabiscoté pour travailler dessus, en fait mon papa me disait toujours avant de faire des peintures custom sur un Dragster on fabrique d'abord le moteur qui bombarde...

Bonne découverte
@+Thierry
 

Pièces jointes

  • bon de commande parfums_Thierry_Cascade_V00.xlsm
    111.3 KB · Affichages: 44

Dranreb

XLDnaute Barbatruc
Re : Besoin d'aide avec VBA

Bonjour.
Seriez vous intéressé par une solution sans TextBox ni OptionButton, mais les choix pouvant être fait dans n'importe quel ordre dans les ComboBox ?
J'ai déjà commencé pour tout vous dire, mais j'ai besoin de votre réponse pour me motiver à continuer…

P.S. Et c'est vrai que vos couleurs son bien agressives et sans tout à fait assez de contraste entre les textes et leurs fonds.
Je ne saurais trop vous recommander, pour un résultat aussi subtil que le sujet de votre application, de coller, dans les ForeColor et BackColor de la fenêtre de propriété, les valeur copiées depuis mon programme Couleurs.exe
 

Pièces jointes

  • Couleurs.zip
    64.5 KB · Affichages: 37
  • Couleurs.zip
    64.5 KB · Affichages: 36
  • Couleurs.zip
    64.5 KB · Affichages: 33
Dernière édition:

yolojo

XLDnaute Occasionnel
Re : Besoin d'aide avec VBA

Merci bien pour vos réponse,
effectivement ça tape à l'œil, et vous avez raison ce n'est pas le plus important, mais c'est la seule chose que j'arrive à faire facilement
Pour le reste, je ne suis pas contre n'importe quelle modification même sans TextBox ni OptionButton, du moment que cela fonctionne et que se soit facile à utiliser.
Merci pour votre aide
 

JBARBE

XLDnaute Barbatruc
Re : Besoin d'aide avec VBA

Bonjour,

Voici un exemple de 2 listes déroulantes concernant la marque et le nom ( une marque )

Le problème est de devoir concilier la marque avec le nom quand il y a plusieurs marques !!

Ce problème hélas reste ambigu !

J'ai quand même modifier les MsgBox concernant les listes déroulantes vides !

A+
 

Pièces jointes

  • bon de commande parfums.xlsm
    132.5 KB · Affichages: 53

Dranreb

XLDnaute Barbatruc
Re : Besoin d'aide avec VBA

Ce n'est pas terminé, loin s'en faut, sauf la partie la plus délicate.
Je le joins pour vous en montrer un aperçu.
 

Pièces jointes

  • CommandeParfums.xls
    367 KB · Affichages: 53
  • CommandeParfums.xls
    367 KB · Affichages: 53
  • CommandeParfums.xls
    367 KB · Affichages: 52
Dernière édition:

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Besoin d'aide avec VBA

Re Bonjour le Fil

Wow quel boulot Dranreb, trois modules de Class, bravo, c'est de la grosse artillerie !

Mais je ne crains fort que malgré tes efforts de commentaires, pas grand monde suive... A moins que tu ne fasses partie intégrante du service après vente pour Yolojo :)

Mais bravo, j'avais pas vu ça depuis longtemps sur XLD !

Cordialement,
@+Thierry

PS
Dranreb Comme tu le signales en commentaires, sous Office 2007 (Win XP) j'ai bien une erreur de syntax dans le MDC TableIndex suivant, mais tout semble fonctionner ...

tableIndex.jpg

PS Jbarre, j'ai testé aussi mais "boum" très très vite
If OptionChoix2.Value = 1 Then Me.TextNom.Visible = False Else: Me.TextNom.Visible = True
et pour "Le problème est de devoir concilier la marque avec le nom quand il y a plusieurs marques !"
regarde ma démo dans ce fil, on peut y arriiver "assez" simplemenr ...
 

Dranreb

XLDnaute Barbatruc
Re : Besoin d'aide avec VBA

A moins que tu ne fasses partie intégrante du service après vente
En fait cette appli est un bon candidat pour la démo ComboBoxLiés pour DémoOutidx
Alors si le demandeur est d'accord il en intégrera la prochaine version et le service après don se fera par OutIdx
Quant à la programmation dans l'userform, elle est quand même des plus simples possibles, du moins pour ce qui est de la gestion des choix dans les ComboBox, vu qu'on ne s'en occupe pas du tout, non ?

En fait, il ne restait plus grand chose à faire pour l'instant, à part revoir les couleurs.
J'ai joint la dernière version au #6

À +
 
Dernière édition:

JBARBE

XLDnaute Barbatruc
Re : Besoin d'aide avec VBA

Thierry à écrit

PS Jbarre, j'ai testé aussi mais "boum" très très vite
If OptionChoix2.Value = 1 Then Me.TextNom.Visible = False Else: Me.TextNom.Visible = True

Je nais pas écrit cette ligne !

D'autre part Mes deux listes déroulantes fonctionnent parfaitement, et même si tu as fait mieux, tu n'as pas à porter un jugement sur mon travail ( c'est la deuxième fois, lâche moi les basquettes svp)

En ce qui concerne le fichier DémoOutIdx.xls‎ de Dranreb qui fait du bon travail, la macro plante !!!!
 
Dernière édition:

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Besoin d'aide avec VBA

à écrit

Je nais pas écrit cette ligne !

D'autre part Mes deux listes déroulantes fonctionnent parfaitement, et même si tu as fait mieux, tu n'as pas à porter un jugement sur mon travail ( c'est la deuxième fois, lâche moi les basquettes svp)

Ouh la la ! tu sais moi je ne juge personne, loin de là, j'ai toujours besoin d'apprendre quand quelqu'un prend le temps de tester mon travail je trouve ca super de me signaler les défauts ou le manque d'ergonomie ou des conseils... Sinon je ne vois pas l'interêt de participer à ce Forum de Partage de Connaissance comme je le fais depuis 2002.

PS Je ne porte que des Santiags !:)
@+Thierry
 

yolojo

XLDnaute Occasionnel
Re : Besoin d'aide avec VBA

Merci beaucoup Dranreb, c'est vraiment génial et c'est exactement ce que je voulais faire.
Par contre, comme le dit très justement Thierry, je n'ai strictement rien compris !!!!
Je suis incapable de pouvoir modifier ou améliorer quelque chose (si toutefois il avait lieu)
Ta version est-elle évolutive ? c'est à dire est ce que je pourrais facilement ajouter ou remplacer des parfums ou leur tarifs sans tout refaire ? ais-je besoin de refaire des paquets par marque de parfums dans la feuille "Liste" ou la liste totale suffit ?
Je suis vraiment stupéfait devant ton travail et tout cela en si peu de temps !!!!
Si toutefois je peux me permettre (j'ai même honte tellement c'est bien fait), j'aurais 3 nouvelles requêtes :
- mettre dans la même cellule "désignation" le nom du parfum et la contenance
- crée une feuille récapitulative différente pour chacun des clients avec leurs commandes (avec le nom et le prénom en entête et la feuille nommée au nom et prénom du client).
- Crée Une feuille récapitulative de toutes les commandes (feuilles clients) avec juste les marques de parfums, leur nom et contenance, les quantités totales et les tarifs totaux pour chaque parfums commandé pour passer ma commande au fournisseur.

Je sais ce que certains vont dire, je pousse le bouchon un peu loin !!!
Si je le demande , c'est que j'en suis incapable moi même. Maintenant si c'est trop complexe, ont oubli et je ferais ma manip à la main pour le total de ma commande.
En attendant, un grand merci à tous pour votre aide.
PS pour Thierry, j'ai essayé d'utiliser ses codes en remplaçant combobox1,2,3 par comboMarque, Nom, et Contenu, mais je ne suis pas arrivé à faire fonctionner. Désolé, je suis vraiment mauvais et tout ces codes, c'est vraiment du charabia pour moi !!!!
Je ne demande qu'a apprendre, mais même en lisant les tutaux, je comprend rien !!!
Encore merci à tous
A très vite
 

Dranreb

XLDnaute Barbatruc
Re : Besoin d'aide avec VBA

Tout d'abord, je joins la dernière version avec des couleurs un peu plus équilibrées et étudiées, pour certaines d'entre elles, d'un point de vue psychosensoriel en fonction des significations des objets qui les portent.
Ceci pour le cas où il pourrais se mettre en place de quoi le faire utiliser par les clients… Mais je ne saurais guère vous aider dans les domaines qui touchent à internet.

Alors. Le mieux serait que vous procédiez au modifications les plus simple pour vous rassurer.
Oui, il n'y a pas lieu de toucher à la programmation quand on ajoute ou supprime des parfums car la plage indiquée à CBL.Plage va de la ligne 2 jusqu'à la dernière ligne renseignée de la colonne A.
Les paquets de marques ne sont d'aucune utilité, tout est puisé dans la liste de la feuille Liste (Feuil4 pour VBA).
Si un ComboBox disparaît du fait que l'information qu'il permettait de choisir est regroupée avec celle choisie dans un autre ComboBox, il suffit de supprimer aussi l'instruction CBL.Add qui lui correspondait.

Pour la suite. On verra. J'avais l'intuition qu'il y aurait à développer d'autres choses. Provisoirement, j'ai l'impression qu'il faut continuer d'empiler les ligne de commandes touts clients confondus, quitte à isoler dans une feuille d'extraction celles qui concernent un client, pour en faire une facture par exemple. Mais ce n'est pas sûr.
À +
 

Pièces jointes

  • CommandeParfums.xls
    366.5 KB · Affichages: 51
  • CommandeParfums.xls
    366.5 KB · Affichages: 53
  • CommandeParfums.xls
    366.5 KB · Affichages: 53

yolojo

XLDnaute Occasionnel
Re : Besoin d'aide avec VBA

très bien merci, c'est parfait
Oh si, juste le prix dans le formulaire ne s'affiche qu'après avoir ajouter au panier. Serait-il possible qu'il s'affiche en même temps que le reste
Pour le combobox du conditionnement, je ne souhaite pas le faire disparaitre car pour certains parfums, nous avons le choix de la contenance. Je souhaiterais seulement que soit regroupé dans mon tableau en colonne C le nom et le conditionnement comme pour la colonne A avec le nom et le prénom.
Merci d'avance
 

Dranreb

XLDnaute Barbatruc
Re : Besoin d'aide avec VBA

Ben, c'est le total repris de la cellule nommée TotalCmd, il est affiché quand il change, donc forcément après l'ajout. Ouais ça ne va plus bien comme liste globale tous clients confondus. Il faudrait par dessus tout ça un dispo pour valider toute la commande. Faut encore réfléchir je crois. Mais on peut afficher dans un nouveau label le prix de l'article si vous voulez. Ce serait à faire dans CBL_BingoUn
VB:
LabelPrix.Caption = Intersect(CBL.PlgTablo.Rows(LaLigne), [Tarifs]).Value & " €"
Je vous laisse deviner ce qu'il faut faire pour qu'il ne reste pas affiché quand on efface… réfléchissez un peu, c'est tout simple. Non, pas dans… enfin si dans CmdAnnuler_Click aussi, mais moi je le mettrait plutôt dans CBL_Défait

Ah, oui je n'avais pas vu que le Condit n'était reporté nulle part. Dans CmdValider_Click:
VB:
Feuil2.Cells(L, 3).Value = Intersect([Désign], Sél).Value & " " & Intersect([Condit], Sél).Value
 
Dernière édition:

yolojo

XLDnaute Occasionnel
Re : Besoin d'aide avec VBA

Houla, je ne suis plus !!!
Je pensais simplement affiché le prix du parfum sélectionné multiplié par la quantité afin de vérifier si il n'y a pas d'erreur avant de valider. le montant globale m'importe peu dans le formulaire étant donné qu'il y a diffèrent clients.
Je vais essayé bêtement de reporter ton code pour voir ce qui change car je ne comprend rien !!!
Dommage ca à l'air si facile et si intéressent lorsque l'on maitrise:D
A bientôt et merci
 

Discussions similaires

Statistiques des forums

Discussions
312 304
Messages
2 087 069
Membres
103 453
dernier inscrit
Choupi