[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

Bonsoir geneviève,

Le plus simple, à mes yeux, est de faire faire les calculs par Excel, dans la feuille de calcul
Pour le genre de calcul que tu as à réaliser, je conseillerais de :
Déclarer l'ensemble de ta base de données en feuille Data sheet en Liste (Menu Données - Liste - Créer une Liste)
Donner un nom à l'ensemble de cette Liste
Construire une zone de critères par VBA pour le premier calcul à réaliser
Mettre une fonction BDSOMME qui donnera le résultat du 1er calcul, sur base de la liste et de la zone de critères
Puis pour chaque autre calcul, modifier la zone de critères et inscrire le résultat de la fonction BDSOMME dans le userform
 

Gen Rose

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

Bonjour tototiti et merci de m'aider à démarrer :)

Déclarer l'ensemble de ta base de données en feuille Data sheet en Liste (Menu Données - Liste - Créer une Liste)
Fait

Donner un nom à l'ensemble de cette Liste
Fait

Construire une zone de critères par VBA pour le premier calcul à réaliser
Si je saisi bien, ma zone de critère est déjà définie en feuil2.
D'ailleurs, c'est de là que j'ai pu nommer mes 2 combobox 'Annee' et 'Division'

Donc, je crois que tu me dis d'utiliser aussi 'Code' en vba? Le hic pour moi, c'est que je ne veux pas les codes dans une liste déroulante; j'aimerais que le résultat pour chacun des codes soient visibles dans leur textbox respectifs lors de l'utilisation du userform. Peut-être devrais-je créer une référence individuelle pour chacun d'entre eux mais il me semble que c'est un peu débile (voir en feuil2)
Je ne sais pas encore comment m'y prendre mais je cherche fort fort!!!

Mettre une fonction BDSOMME qui donnera le résultat du 1er calcul
Ça, c'est le gros défi que j'ai à relever; créer le code pour la somme et disposer les résultats dans les textbox...! Rendu là, je vais vraiment avoir besoin de suggestions!!

Merci bcp pour ton temps
Bonne journée :eek:

Mes derniers mini-progrès:
 

Pièces jointes

  • TEST_userform(1).xls
    318.5 KB · Affichages: 94
  • TEST_userform(1).xls
    318.5 KB · Affichages: 101
  • TEST_userform(1).xls
    318.5 KB · Affichages: 103

Gen Rose

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

Je n'ai pas réussi à utiliser BDSOMME mais SOMMEPROD, finalement.

Mon code fonctionne pour les 3 critères et fait bien la somme des totaux
Code:
=SOMMEPROD(($A$2:$A$65500=Q36)*($E$2:$E$65500=R36)*($K$2:$K$65500=S36)*($O$2:$O$65500))

Ça fonctionne pour une sélection précise; il faut remplir à la main chacune des cases(Q36:S36) et nous avons le calcul mais tant qu'à ça, autant utiliser la fonction somme de la liste avec les filtres! Mais bon, j'avance.
 

tototiti2008

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

Bonjour Geneviève,

Pour comprendre l'utilisation de BDSOMME, essaie de lire ça :
BDSOMME - Excel - Office.com
ou encore mieux là
Les fonctions des bases de donnes

Bien que l'utilisation de SOMMEPROD donne un résultat identique, SOMMEPROD nécessitera de définir les plages de chaque colonne, alors que BDSOMME a simplement besoin de la liste entière (ce pourquoi je te l'ai faite nommer)
D'autre part, BDSOMME se calcule beaucoup plus vite que SOMMEPROD (ce qui sera utile ici pour les calculs à la chaîne), son seul défaut est de nécessiter une zone de critères mais comme de toute façon tu dois construire les critères même pour SOMMEPROD... autant utiliser la plus rapide

Si tu préfères que je te fasse un exemple, dis-le moi
 

Gen Rose

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

Bonjour tototiti

C'est très gentil de m'aider comme ça.

J'aimerais que tu regardes, si tu veux bien, ce que j'ai fait avec sommeprod; en fait, c'est à très peu de chose près du but que je me suis fixée et sans vba!:eek:

Je continue de lire sur bdsomme mais tu verras, mes test ne sont pas concluant (en rouge) et j'en ai fait d'autres aussi, comme un avec une liste déroulante à même la feuille mais même nommée, elle ne répond pas donc il me manque un morceau de casse-tête.
 

Pièces jointes

  • TEST_userform(1).xls
    320.5 KB · Affichages: 65
  • TEST_userform(1).xls
    320.5 KB · Affichages: 61
  • TEST_userform(1).xls
    320.5 KB · Affichages: 57

tototiti2008

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

Re,

Bon, alors :
pour les fonctions de base de données (comme BDSOMME) la liste DOIT contenir les noms de champs - ligne de titre de la liste
Le nom MaListe doit donc contenir la ligne de titre
Ensuite tu as fait des noms avec DECALER, mais ce n'est pas utile, le faite d'en faire une Liste (Données - Liste - Créer une Liste) agrandira automatiquement le nom au fur et à mesure qu'on ajoutera des données
Et puis il y a plein de tests faits partout, j'ai un peu de mal à m'y retrouver
 

Gen Rose

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

À la suite de ton message précédent, j'ai effacé tous les noms insérés et refait Maliste='Data sheet'!$A$1:$O$34
J'ai ensuite inséré les nom pour chacune des colonnes comme tu m'as dit.

J'ai ensuite créée exactement la même formule que toi mais la mienne écrit valeur...
Peux-tu me pointer ce qui ne va pas avec ma procédure? je la joins ci-dessous.

En passant, ton résultat est parfait.

Il me reste une étape; je veux que l'on puisse choisir l'année et la division dans 2 listes déroulante.
 

Pièces jointes

  • TEST_userform(1).xls
    320 KB · Affichages: 51
  • TEST_userform(1).xls
    320 KB · Affichages: 63
  • TEST_userform(1).xls
    320 KB · Affichages: 76

tototiti2008

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

Re,

Le 2ème argument de BDSOMME doit être :
- Soit le numéro de colonne de la Liste sur lequel faire le calcul, pour ton total net, c'est la 15ième colonne, donc 15
- Soit le nom du champ sur lequel porte le calcul, sous forme de texte, donc "$ Total Net", avec les guillemets (c'est du texte), comme orthographié en cellule O1

Edit : tu n'as donc pas besoin des noms pour chaque colonne, simplement du nom de toute la liste
 
Dernière édition:

Gen Rose

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

Impeccable, je m'acharnais à mettre le nom inséré.

Si je fonctionne avec 2 listes déroulante plutôt que la zone définie 'crit', comment les amagalmer?

Ceci ne fonctionne pas :
Code:
=BDSOMME(Maliste;"$ Total Net";choix1;choix2;S34)
Ceci non plus:
Code:
 =BDSOMME(Maliste;"$ Total Net";"choix1"*"choix2"*S34)
J'ai nommé mes listes et quand j'utilise fx, je vois que ça semble bien les prendre en considération mais au final, non.

Je rejoins mon fichier et tototiti, merci beaucoup.
 

Pièces jointes

  • TEST_userform(1).xls
    320 KB · Affichages: 72
  • TEST_userform(1).xls
    320 KB · Affichages: 73
  • TEST_userform(1).xls
    320 KB · Affichages: 101

tototiti2008

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

Re,

Si je fonctionne avec 2 listes déroulante plutôt que la zone définie 'crit', comment les amagalmer?

tu ne peux pas te passer de la zone de critères, mais rien ne t'empêche d'y mettre des formules ou d'écrire dedans en VBA

D'autre part, BDSOMME se calcule beaucoup plus vite que SOMMEPROD (ce qui sera utile ici pour les calculs à la chaîne), son seul défaut est de nécessiter une zone de critères mais comme de toute façon tu dois construire les critères même pour SOMMEPROD... autant utiliser la plus rapide

Tu as laissé tombé le Userform ? moi je pensais que dans la feuille de calcul tu aurais ta BDSOMME et sa zone de critères, mais que tu écrirais les critères dans la zone de critères depuis le userform et que tu lirais le résultat de BDSOMME pour l'afficher ensuite dans le userform
 

Gen Rose

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

Bien non, je ne voulais pas laisser tomber le userform!
Mais je croyais qu'il était devenu superflu et je suis heureuse de me tromper!

Ok donc là, je dois commencer à coder...angoisse!

Toujours prêt à me guider? :eek:

C'est vraiment super, je croyais pas pouvoir continuer en vba!
 

Discussions similaires

Réponses
4
Affichages
291

Statistiques des forums

Discussions
312 115
Messages
2 085 453
Membres
102 890
dernier inscrit
selkis