[RÉSOLU]: Userform / 2 critères combobox et somme

Gen Rose

XLDnaute Impliqué
Supporter XLD
Bonjour Forum :eek:

J'ai revisé un maximum de lien sur le sujet et il en résulte que je ne sais plus comment m'y prendre...il y a trop d'avenues.

Mon souci, c'est de faire le bon choix de procédure pour cette macro et j'ai vraiment besoin de vos suggestions.

J'ai déjà créée le userform...je n'aurais pas du passer autant de temps sur l'esthétique mais c'est relaxant.
Plaisir coupable.



  • J'ai déjà inséré les choix des 2 combobox tirés de listes dans le classeur.
  • Le premier combobox doit effectuer un premier tri;le deuxieme un nouveau tri à partir du précédent.
  • La dernière étape est de faire la somme des résultats en K(feuil1, Data base) pour chacun des codes et les insérer dans les textbox appropriés

Ici, j'en ai mis que 5-6 dans les label mais il y en aura une bonne douzaine(j'ajusterai le userform et la macro selon)

En fait, je demanderais de ne pas me donner la solution toute crue s.v.p. mais une toute petite partie ou des indices.

J'aimerais beaucoup monter ce code moi-même mais je me rends à l'évidence que je n'arrive pas à en jeter les bases...:rolleyes:

Je vous remercie beaucoup de m'aiguiller sur la solution!
Bonne fin de journée à tous xox
 

Pièces jointes

  • TEST_userform.xls
    314.5 KB · Affichages: 84
  • TEST_userform.xls
    314.5 KB · Affichages: 99
  • TEST_userform.xls
    314.5 KB · Affichages: 103
Dernière modification par un modérateur:

tototiti2008

XLDnaute Barbatruc
Re : Userform / 2 critères combobox et somme

Re,

Ben c'est simple (enfin il me semble :)), à la sortie du 1er combobox tu écris dans la première partie de la zone de critères, à la sortie du 2ème tu écris dans deuxième partie, et à la sortie des deux tu boucles sur tes valeurs de la troisième partie (un peu moins simple) et tu écris dans la 3ème partie de la zone de critères, tu lis le résultat de BDSOMME et tu l'écris dans la textbox appropriée ;)

Pas super clair sauf dans ma tête, je présume ;)
 

Gen Rose

XLDnaute Impliqué
Supporter XLD
Re : Userform / 2 critères combobox et somme

Ouh là là! Alors, pour une néophyte comme moi, qui ne sais même pas encore comment débuter son code et ce qu'elle doit nommer très exactement comme variable, c'est certain que je saisi plus ou moins. Quelqu'un d'habitué comme toi dit ' à la sortie du combobox' et déjà tu perçois grossomodo la structure, sa position et même les bouts de codes appropriés. Moi, pas encore :rolleyes:
Mais ça va venir.
Ce que j'aimerais savoir, c'est par où commencer...tu as vu mon début en vba pour ce projet? Peut-être que de là, ce serait plus simple de me donner un exemple concret. Par exemple, je me demande comment utiliser Me.Annee et Me.Division dans le code.
Ne t'inquiète pas, je ne vais pas te harceler :) Je pioche vraiment fort de mon côté à jongler avec les tutos et les fils sur des questions semblables en ce moment...d'ailleurs, faut que j'aille diner.
encore merci,
 

Gen Rose

XLDnaute Impliqué
Supporter XLD
Re : Userform / 2 critères combobox et somme

Le résultat mène exactement où je voulais aller.:D

Et, j'ai découvert comment tager les nouveaux textbox pour que le résultat d'un code y soit inscrit...et moi qui cherchais dans le code en me disant 'c'est pas possible'...

Par contre, j'ai remarqué les plage crit1,2 et 3 et en me référant au code, je ne vois pas l'utilisation de crit1 et 2...est-ce à cause de la partie que j'avais créée ComboBox1.RowSource = ("Annee") et ComboBox2.RowSource = ("Division") qui les remplacent?

Je me pose aussi la question pourquoi ce bout de code revient dans deux code soit le Userform initialize et Calculer
Code:
Dim Ctl As Control
    For Each Ctl In UserForm1.Controls
        If TypeOf Ctl Is MSForms.TextBox Then

Petit détail mais les filtres de la liste ont disparu et lorsque j'essai d'en insérer des nouveaux, il figent et ne fonctionnent pas.

Je connais un utilisateur qui aime les filtres et qui va me poser la question alors je tente d'être avenante.

En passant, je suis gênée d'avouer que je ne crois pas que j'y serais arrivé..même si en étudiant ton code, je saisi quasiment...disons, c'est difficile à exprimer; il y a trop de particularités et de subtilités qui m'échapent. Je crois bien qu'il faut en faire depuis un bon bout de temps pour arriver à penser vba mais bon, ça ne va pas m'empêcher de continuer.

Merci beaucoup pour ton aide et ton temps,
 

tototiti2008

XLDnaute Barbatruc
Re : Userform / 2 critères combobox et somme

Re,

Par contre, j'ai remarqué les plage crit1,2 et 3 et en me référant au code, je ne vois pas l'utilisation de crit1 et 2...est-ce à cause de la partie que j'avais créée ComboBox1.RowSource = ("Annee") et ComboBox2.RowSource = ("Division") qui les remplacent?

Non, c'est dans les évènements Combobox_change (au changement de la valeur du Combobox) que j'écris dedans

Code:
Private Sub ComboBox1_Change()
    With Sheets("Data sheet")
        .Range("Crit1").Value = ComboBox1.Text
    End With
End Sub

Private Sub ComboBox2_Change()
    With Sheets("Data sheet")
        .Range("Crit2").Value = ComboBox2.Text
    End With
End Sub

Je me pose aussi la question pourquoi ce bout de code revient dans deux code soit le Userform initialize et Calculer

Dans l'initialisation, c'est juste pour vider les Textbox à l'ouverture, pas de résultat au début
Dans Calculer, c'est pour afficher le résultat des calculs

Petit détail mais les filtres de la liste ont disparu et lorsque j'essai d'en insérer des nouveaux, il figent et ne fonctionnent pas.

Bizarre, si moi je cliques dans la liste, Menu données - filtrer - filtre automatique, les flèches reviennent et je peux les utiliser

En passant, je suis gênée d'avouer que je ne crois pas que j'y serais arrivé..même si en étudiant ton code, je saisi quasiment...disons, c'est difficile à exprimer; il y a trop de particularités et de subtilités qui m'échapent. Je crois bien qu'il faut en faire depuis un bon bout de temps pour arriver à penser vba mais bon, ça ne va pas m'empêcher de continuer.

Ne te décourage pas :)
Cependant, outre l'habitude, je ne saurais que trop conseiller de bien maitriser les bases avant de se lancer dans des choses trop compliquées
Bien comprendre les types de variables
Savoir ce qu'est un objet
Savoir ce que sont Propriétés, Méthodes et Evènements d'un objet...
Tout ça permet de mieux appréhender la structure de ce avec quoi on travaille en VBA, et on comprend que ce n'est pas juste un "foutu bordel" où il faut apprendre par coeur comment faire ci ou ça, mais qu'il y a tout de même un fond de logique à tout ça, même si c'est parfois tordu, il faut le concéder :)
Après, plus on en fait, plus c'est facile et parait naturel, pas de secret...
 

Gen Rose

XLDnaute Impliqué
Supporter XLD
Re : Userform / 2 critères combobox et somme

Merci beaucoup pour les explications et je suis d'accord avec toi; je dois maîtriser la base avant de me lancer dans de tels projets.

D'un autre côté, ça me fait un exemple de programmation que je vais conserver précieusement.

Je vais mettre l'histoire du filtre de côté (bug?) car de toute façon, je reprends toutes ces étapes à nouveau dans le document original. Je vais même écrire le code à la main et utiliser la fenêtre de variable et évidement, selectionner et taper F1 sur tout ce qui m'intrigue ;)

Encore un gros merci pour tout!
Bonne fin de journée,
 

Discussions similaires

Réponses
4
Affichages
268