Recherche par plage de dates et somme de valeurs associées

Bonjour,

Après avoir tatonné sur le forum et sur internet, j'ai réussi à créer, sur la base d'un tableau de données existant, un formulaire de saisie des données.

N'étant pas un grand spécialiste de vba, je voudrais par le biais d'un formulaire de "recherche" trouver pour une plage de dates définie (datedébut et datefin) le nombre de lignes et calculer pour ces lignes la somme de valeurs correspondantes...

J'ai d'autres questions notamment sur l'incrémentation automatique du tableau excel lors de l'enregistrement d'une nouvelle donnée à partir du formulaire de saisie et sur la gestion de formules de calcul à partir du choix opéré via des cases à cocher et l'affichage des résultats !

Je vous joins un fichier sur lequel j'ai essayé d'être le plus clair possible pour les différentes questions où je bloque.

Merci pour votre aide.

45vae.xlsm (44.88 Ko)

Bonjour et bienvenue sur le forum

Un essai à tester. Te convient-il ?

Bye !

28vae-v1.xlsm (54.13 Ko)

Bonjour le fil bonjour le forum,

Gmb, il semble que le calcul par date de l'UserForm2 soit erroné dans ta pièce jointe...

Je pense avoir pratiquement résolu tous tes problèmes dans la pièce jointe cependant il reste un incohérence dans ton fichier.

Tu as deux fois la même donnée en colonne AK (37) et AO (41). Pourquoi deux fois ? Et le problème est qu'on ne sait pas quelle valeur renvoyer quand le quotient familial est supérieur à 2200 dans la colonne AO (41) qui, elle, détermine le calcul ?...

Attendant ta réponse pour la version 2...

26arturo-v01.xlsm (51.90 Ko)
ThauThème a écrit :

Gmb, il semble que le calcul par date de l'UserForm2 soit erroné dans ta pièce jointe...

Bonjour ThauThème

Je pense que c’est un problème de borne qu’on prend ou qu’on ne prend pas…

Mais je vois que tu as pris l’affaire en main.

Alors, je m’efface : à tout seigneur tout honneur !

Au plaisir de se croiser à nouveau !

Bye !

Bonjour le forum

Merci gmb pour ton aide.

Merci ThauThème pour ta contribution.

J'ai regardé le fonctionnement de tout ça mais comment programmer l'userform pour choisir manuellement des dates de recherche afin de trier par semestre, trimestre, mois, année... et non par des dates prédéfinies dans les combobox ?

Pour répondre à ta question et compléter mon formulaire, si le quotient familial est > à 2200, on ne calcule rien mais par contre serait-il possible d'afficher un message type "Dossier inelligible !" lors de la saisie sans pour autant empêcher l'enregistrement dans le tableau ?

Enfin, j'ai voulu simplifier le tableau et remplacer

O.Cells(PLV, 44).FormulaR1C1 = "=RC[-2]*RC[-4]"

par

O.Cells(PLV, 44).FormulaR1C1 = "=RC[-2]*RC[-17]"

pour supprimer la colonne AN (doublon avec colonne AA) : le résultat en AR reste égal à zéro ! Une idée ?

L'affichage en textbox37 n'est pas nécessaire si avec les cases à cocher on peut compléter la colonne AO et exécuter les calculs permettant de renseigner la textbox38; ce qui permettrait de supprimer la colonne AK !

J'essaye de creuser ces pistes et je reste ouvert à toutes propositions qui pourraient m'aider.

Merci encore et bonne journée

Bonjour le fil, bonjour le forum,

La version 02 à tester...

17arturo-v02.xlsm (62.01 Ko)

Bonjour le fil,

Bonjour ThauThème,

J'ai testé cette nouvelle version. On avance à grand pas... Merci.

Il y avait un bug sur la définition des semestres (pas de correspondances entre le semestre cherché et le semestre affiché en résultat) que je pense avoir corrigé.

J'ai complété la recherche pour le 4ème trimestre qui n'était pas programmé.

En pièce jointe, le fichier avec les correctifs apportés.

Par contre, il me reste encore quelques erreurs qui me dépassent :

1/ si recherche par année :

- bug si on lance la recherche sans avoir renseigner l'année

- si la recherche correspond à la dernière ligne renseignée du tableau (année 2016), le résultat compte les lignes année 2016 et les nouvelles demandes même si la colonne AJ (36) est vierge

2/ si recherche par semestre : si plusieurs lignes ont la même date en colonne AH (34), la recherche n'affiche qu'1 dossier mais totalise l'ensemble des lignes en colonne AP

3/ si recherche par trimestre : si la recherche porte sur le dernier trimestre qui correspond à la dernière ligne renseignée du tableau (année 2016), le résultat compte les lignes année 2016 et les nouvelles demandes même si la colonne AJ (36) est vierge

4/ si recherche par mois :

- si mois début janvier : RAS

- pour mois début février à septembre : erreur si mois fin égal à octobre, novembre ou décembre !

- si mois début octobre ou décembre : RAS mais pas de message si mois fin < mois début

- si mois début novembre : pas de message si mois fin < mois début sauf pour mois fin égal à octobre

Merci pour vos solutions.

Re,

Arturo, donne-moi, s'il te plaît, les fourchettes de date des trimestres et des semestres car dans mon esprit il s'agissait d'année scolaire, donc de début Septembre XXX à fin juin XXX+1.

J'ai vu que tu as modifié pour les trimestres mais pas pour les semestres alors j'ai un doute...

Re,

Bon, j'ai utilisé l'année normale (pas scolaire) du 01/01/XXXX au 31/12/XXXX tant pour les trimestres que pour les semestres. Je pense avoir corrigé tous les bugs signalés de la version 02 dans cette nouvelle version 03 :

23arturo-v03.xlsm (89.06 Ko)

Bonjour ThauThème,

Encore une fois beau travail !

En effet, je raisonne en année civile et non scolaire.

Je digère tout ça et teste le fichier dans la journée...

Re-bonjour ThauThème

J'ai modifié pour des raisons pratiques la définition de la colonne où rechercher les dates (AJ36) car les subventions peuvent être versées sur l'année (n) et donc dépendre du budget (n) même si le dossier est enregistré en année (n-1).

Pour le n° dossier (C3), je souhaiterai pouvoir mettre un code plus complexe permettant d'identifier de suite l'année et le n° d'enregistrement : exemple : VAE-année-n°

  • VAE donnée fixe (texte)
  • année variable en fonction de l'année d'enregistrement du formulaire en colonne K11
  • n° (à partir de 1 pour le 1er dossier de l'année K11) qui s'incrémente

Est-ce possible dans une seule colonne C3 d'avoir toutes ces infos et comment ?

Merci

Re,

Si tu modifies certaines choses, l'idéal serait que tu mettes en pièce jointe le fichier modifié pour que les versions soient à jour...

Pour rendre ta nouvelle requête plus simple j'ai déplacé la TextBox11 de la Page1 dans l'UserForm juste après le prénom (TextBox2) et j'ai interdit son accès (Enabled = False). De cette manière le numéro de dossier est visible de suite. Code dans TextBox11_AfterUpdate.

Je ne sais pas si ça va te convenir. Sinon, tu remets la TextBox11 à sa place et le numéro de dossier ne s'affichera que quand tu auras rentré la date du formulaire de demande...

Il faudra penser aux champs obligatoires avant de valider. L'idéal est de mettre une astérisque (*) à la fin dans la label qui désigne ce champs...

19arturo-v04.xlsm (73.51 Ko)

Je me rend compte que j'ai peut-être travaillé à l'envers et pas assez réfléchi mon projet : comment basculer l'ensemble des boutons (Formulaire, Suivi et Editions) dans une feuille "ACCUEIL" qui s'afficherait automatiquement à l'ouverture du fichier pour plus de convivialité ? J'aurais peut-être du commencer par là !

Voici une version 5 du fichier sur laquelle j'ai rajouté un bouton EDITIONS en cours de développement pour pouvoir générer des documents Word spécifiques suivant chaque cas. Je me gratte la tête pour l'instant mais avec l'aide portée jusqu'ici j'ai pu travailler une ébauche (Userform8).

Le plus dur reste à faire : programmer la génération des doc Word (modèle connu)... As-tu une piste à me fournir ?

Par contre, les documents doivent faire apparaître, en autres, la civilité (pour la poste et les formules de politesse). Comment compléter le formulaire et le tableau des valeurs ?

"Dernière" amélioration envisagée, comment faire pour avoir l'onglet 1 du Formulaire de saisie actif à chaque lancement du formulaire ?

13arturo-v05.xlsm (70.65 Ko)

Re,

Pour les boutons dans l'onglet ACCUEIL un banal copier/coller a suffit... Voir code dans le composant ThisWorkbook...

Pour la Civilité :

  • rajout d'une colonne en premier
  • modification dans tout le code des colonnes de destination
  • rajout du code de l'alimentation de la ComboBox2
  • modification du code au changement dans la ComboBox1 de recherche...

Pour la page1 par défaut, à l'initialisation de l'UserForm1 : Me.MultiPage1.Value = 0

Quant au reste, la génération des fichiers Word, je n'ai jamais fait ça et je ne te serais pas très utile dans ce domaine... Désolé.

22arturo-v06.xlsm (98.69 Ko)

Bonjour ThauThème,

J'ai téléchargé le fichier hier matin avant de partir en déplacement la journée.

Je regarde les modif apportées et creuse la piste pour ouvrir un doc word et générer le remplissage de plusieurs champs liés à la base NOMS.

Je te ferai passer le fichier si j'y arrive...

Merci

@ bientôt

Bonjour ThauThème,

J'ai cherché sur le site et sur différents forums des éléments pour arriver à ouvrir un document word à partir d'un bouton vba de mon userform8.

Je pense avoir un début de solution : mon document s'ouvre bien et par publipostage j'arrive à le remplir.

Cependant, quel programme exécuter pour, en fonction soit de la recherche par nom combobox1, soit du n° dossier combobox2 et à partir du choix du type de document souhaité (optionbutton 1 à 4), éditer l'unique doc recherché sans passer par le publipostage et trier le destinataire à imprimer ?

En plus clair, je voudrais que le choix s'opère depuis le fichier excel et non après l'ouverture du doc word !

Autre petit problème, je n'arrive pas à rendre le bouton "Choisir le document à éditer" (commandbutton1) inactif tant qu'aucun choix (optionbutton 1 à 4) n'a été fait !

Enfin, dans le doc généré, le champ "formulaire" (au format date dans la base xls) s'affiche en format standard. Comment y remédier ?

Merci pour l'aide que tu pourrais encore m'apporter...

Je mets en pièces jointes le fichier xls et un des 4 doc word à générer.

A bientôt

21vae.xlsm (97.99 Ko)
13doc1.docx (82.53 Ko)
Rechercher des sujets similaires à "recherche plage dates somme valeurs associees"