Insertion de lignes en fonction d'un critère
Bonjour à tous,
De niveau avancé en Excel mais novice en VBA, je me tourne vers vous car cela fait quelques semaines que je suis opposé à une limite technique de développement d'un fichier.
Voici l'énoncé, simplifié, du problème :
2 onglets :
- Le 1er est l'onglet "standard" où je crée mes blocs de lignes standards.
Exemple : pour une clio j'ai X lignes d'équipements différents, une mégane Y lignes d'équipements différents, une laguna Z lignes d'équipements différents ==> j'ai donc 3 blocs différents pour un total de X+Y+Z lignes.
- Le 2e est un onglet de calculs beaucoup plus complet et que j'aimerais aller faire sourcer dans l'onglet 1.
Explication : la 1ere colonne/1er critère d'entrée est le nom d'un loueur de voitures. La 2e colonne est le type de voiture loué par le loueur. La 3e colonne donne les équipements de la voiture de la 2e colonne. Les colonnes suivantes sont des calculs basés sur les valeurs de ces 3 premières colonnes (recherchev, nb.si.ens, somme.si.ens, etc).
Le problème :
J'ai aujourd'hui près de 10 000 lignes sur le 2e onglet (et c'est loin d'être terminé). Or, je peux être amené à devoir ajouter un nouvel équipement sur une voiture en particulier. Ainsi, le bloc "standard" de la clio, par exemple, passerait de X à X+1 lignes. Ajouter cette ligne à la main pour chaque loueur louant des clio sera beaucoup trop chronophage.
La solution supposée :
J'aimerais donc que dès qu'un loueur loue des clio, les X lignes d'équipements viennent se mettre automatiquement en fonction du bloc "standard" de l'onglet 1. Ainsi, si j'ajoute une ligne sur le bloc "standard" de la clio dans l'onglet 1 (passage à X+1 lignes dans l'onglet 1), tous les blocs clio de l'onglet 2 se mettent à jour et passent à X+1 lignes, et les calculs des colonnes suivantes s'étendront automatiquement aussi...
J'ai essayé de "filouter" avec différentes formules et astuces Xcel, mais il me semble que le recours au code VBA et/ou à une/des macros soit inéluctable.
Je mets en PJ un exemplaire ultra-simplifié de mon document pour que vous puissiez plus facilement visualiser et tester.
N'hésitez pas si vous avez la moindre question.
Par avance, merci beaucoup !!!
- Messages
- 1'794
- Excel
- 2010
- Inscrit
- 25/08/2014
- Emploi
- Consultant VB6 / SQL / VBA / Excel / Access
Bonsoir,
Ci-joint une proposition à tester.
Les données sont organisées (modélisation similaire à une base de données) pour éviter la redondance et assurer la cohérence entre les informations.
- Listes : liste des véhicules, des équipements, des loueurs
- VehiculesLoueurs : lien entre les loueurs et les véhicules (les loueurs et véhicules sont basés sur les listes)
- VehiculesEquipements : lien entre les véhicules et les équipements (les véhicules et les équipements sont basés sur les listes)
- Calculs : bouton de MAJ qui recrée toutes les lignes en croisant les loueurs, les véhicules et les équipements (et les formules en D, E et F sont étirées)
- BDD : sûrement le même principe à reprendre (en attente de savoir ce que cet onglet contient ...)
Bonne soirée
Bouben
Bonjour Bouben,
Incroyable, merci infiniment ! Effectivement, la macro (bouton MAJ) fonctionne à la perfection et correspond exactement à ce que je recherchais.
Simplement, comme je l'ai dit c'est un fichier simplifié que je t'ai partagé. Je vais donc devoir transposer la logique de ta macro sur mon propre fichier (confidentiel) comportant N fois plus de véhicules, loueurs et équipements.
Par conséquent, pourrais-tu s'il te plait m'expliquer la manière dont tu as procédé pour créer cette macro ? Le code ? Les listes sont-elles nécessaires ?
Merci encore pour ton aide,
J'allais dire "n'hésite pas pour le moindre coup de main", mais je n'ai apparemment rien à t'apprendre sur excel 8)