Mise a jour automatique d'un tableau

Bonjour, voici mon problème...

J'ai un tableaux récapitulatif de calcul de prix pour une armoire électrique, ce tableau est disposé en plusieurs sous-famille. Ces sous familles sont reprises chacune dans un onglet séparé. Le problème que je voudrais solutionner est que dès que je rajoute une ligne dans mon onglet de la sous famille, celui-ci s'ajoute automatiquement dans le tableau récapitulatif à l'endroit correspondant à la sous famille, en quelque sorte faire une mises à jour du tableaux.

Pourriez-vous m'aider SVP ?

En espérant m'être bien fait comprendre...

Merci d'avance.

Lucas Simon

Salut,

Ton problème ne me semble pas trop compliqué. On peut avoir un petit bout de fichier exemple (par exemple la feuille de base et deux feuilles de sous-famille avec quelques lignes représentatives chacune) ?

Cordialement.

Oui pas de problème je vous envoie le fichier dans sa totalité, si toute fois vous avez encore des questions n'hésiter pas.

Re-bonjour,

Je n’ai pas étudié ton fichier à fond, les feuilles des sous-familles me semblant assez compliquées.

Par contre je te propose quand-même une solution qui – vu la configuration de ton fichier – me semble être la plus simple.

Je ne te donne que l’exemple de la sous-famille « Boutonnerie et voyant », mais ça me semble applicable à toutes les sous-familles.

Dans la feuille de la sous-famille – comme je l’ai fait dans le fichier ci-joint, mes cellules en brun – tu préparerais assez de lignes de réserve en fonction du maximum possible qu’elle peut contenir. Mieux vaut exagérer et prévoir 100 lignes de trop que d’être coincé par la suite (les totaux de cette feuille par exemple peuvent être placés dans les colonnes adjacentes si tu veux les avoir encore visibles malgré que tu préparerais x lignes de réserve).

Puis sur ta feuille « Full » (j’espère que c’est bien la feuille récapitulative, tes informations à ce sujet n’était pas très explicites), tu préparerais autant de formules que nécessaire en fonction du nombre de ligne prévu sur la feuille de la sous-famille. Dans mon fichier ci-joint, de la ligne 135 à la ligne 164. Le total serait alors placé sur la ligne suivante et l’on masquerait entièrement et automatiquement les lignes inutiles, soit sur mon exemple les lignes 142 à 164.

Si tu considères que c’est une bonne solution, tu prépares un fichier avec autant de lignes que nécessaires pour chacune des feuilles des sous-familles avec les formules correspondantes sur la feuille « Full » et je place la macro nécessaire au masquage des lignes de la feuille « Full » par la suite.

A te relire.

Merci pour le petit exemple, les macros sont très pratiques, l'idée d'avoir une centaines de lignes ne me dérange pas et le fait de les masquer non plus, mais ce serait possible de masquer uniquement les lignes non utilisées ?

Je m'explique,

Par exemple dans l'onglet "boutonnerie et voyant" je viens rajouter une ligne dans le tableau, par exemple "10, Bouton poussoir, x €, x € " (suivant la disposition de mon tableaux) celle-ci se rajoute automatiquement dans l'onglet full (qui est bien l'onglet récapitulatif)et lorsque l'ont applique la macro "masquer les lignes" celle-ci prend on compte la nouvelle ligne rajoutée et ne la masque pas ( comme c'est le cas maintenant )

Encore merci de votre aide !

Re,

Lunatix50 a écrit :

mais ce serait possible de masquer uniquement les lignes non utilisées ?

Mais bien entendu

Je pensais avoir été assez clair

Yvouille a écrit :

Le total serait alors placé sur la ligne suivante et l’on masquerait entièrement et automatiquement les lignes inutiles,

Yvouille a écrit :

... tu prépares un fichier ..... et je place la macro nécessaire au masquage des lignes de la feuille « Full » par la suite

A te relire.

Voila j'ai rajouter pas mal de ligne dans mon fichier qui sont susceptible d'être remplie un jour ou l'autre ...

Encore un grand merci de me consacrer votre aide et de votre temps !

Re,

Mon idée était de placer le même nombre de lignes sur la feuille de la sous-famille et sur le tableau récapitulatif et de placer dans ce dernier les formules correspondantes exactes. Sur ma feuille « Boutonnerie et voyant » il y a exactement 30 lignes et sur le récapitulatif il y a 30 formules de la cellule F135 à la cellule F164 (il peut y avoir d’autres formules dans d’autres colonnes). Puis je pensais placer une macro qui contrôlerait si les formules sont à zéro ou non et qui masquerait les lignes justement sur 0.

Dans ton fichier, je ne vois pas où tu as rajouté des lignes ou non et surtout je ne vois pas les nouvelles formules en place sur la feuille « Full ».

Merci alors de revoir ton fichier dans ce sens et de me dire exactement quelles lignes doivent être masquées en fonction des formules dans la colonne F qui seraient à zéro ou non (ou est-ce que tu veux choisir une autre colonne ?).

Cordialement.

Re,

Ok je pense avoir enfin saisi ou vous voulez en venir, j'ai préparé les cellules avec les formules que j'ai mis dans la même couleur (brun) il y a juste une particularité pour l'onglet "armoire + accessoire" ou cette méthode ne s'applique pas, on laisse donc tomber cet onglet.

Remarque :

  • les colonnes qui ne contiennent pas de 0 sont des colonnes à remplir manuellement
  • La ligne vide au dessus de chaque sous famille dans le tableau full dois être remplie manuellement, elle sert à faire le sous total

Petite question, est-ce possible de modifier le calcul de la cellules même après que la maccro ait été affectuée ?

J'avais déjà réaliser une macro "supprimer0" pour supprimer tout les 0 présents dans la colonne B, je pense que c'est une alternative à la votre mais la mienne me permet pas de rétablir les lignes contrairement à la vôtre

PS : je vous invite à regarder vos message privé pour me communiquer votre adresse mail. Merci !

Salut,

J’ai avancé un peu avec ton fichier. Comme il me semble qu’il n’y a pas de données plus sensibles que sur le premier fichier que tu as posté, je me permets de placer mon nouveau fichier directement sur ce fil. Comme il est trop grand, je l’ai simplement compressé.

En fait ton fichier est devenu trop gros car tu as mis beaucoup de cellule en couleur (et pas seulement les cellules nécessaires, mais les lignes complètes). Si on s’est compris maintenant, tu peux à nouveau enlever ces couleurs si tu dois replacer un fichier sur le fil. Ce serait alors bien que tu incrémente la numérotation des versions (_V1, _V2, etc.) afin que l’on puisse facilement y faire référence.

Tu sembles avoir assez bien compris ce que je te propose, mais il y a encore des imprécisions. Ainsi j’ai effacé TES lignes 382, 603 et 605 qui me semblaient inutiles. Par contre j’ai abandonné l’idée de corriger ton fichier après la nouvelle ligne 699 sur mon fichier «Version 3» (_V3) car je ne comprends pas tout à ta logique. Ma démonstration se limite donc aux lignes 25 à 699 de la version 3.

Lunatix50 a écrit :

- les colonnes qui ne contiennent pas de 0 sont des colonnes à remplir manuellement

Je ne comprends pas ce que tu veux dire par là.
Lunatix50 a écrit :

- La ligne vide au dessus de chaque sous famille dans le tableau full dois être remplie manuellement, elle sert à faire le sous total

Je t’avais dit que l’on pouvait déjà placer la ligne du sous-total et la formule nécessaire dans la colonne H. C’est donc ce que j’ai fait dans le fichier ci-joint (cellules H90, H144, H157, etc.). Pour l’instant, ces lignes restent visibles même si le sous-total est zéro (cellules H317, H349, etc.). A toi de dire s’il faut également les masquer si elles ont la valeur 0.
Lunatix50 a écrit :

Petite question, est-ce possible de modifier le calcul de la cellules même après que la maccro ait été affectuée ?

Selon moi il ne faudrait pas modifier les données de la feuille « Full », mais uniquement les données des feuilles des sous-familles. Mais bien entendu que si les formules de la feuille « Full » comprennent des erreurs, tu peux toujours les modifier par la suite.

A ce propos, j’ai maintenant placé une macro événementielle qui se déclenche à chaque fois que tu sélectionnes la feuille « Full » et qui la réactualise à ce moment-là. Donc si tu sélectionnes une feuille de sous-famille quelconque, que tu y saisis des modifications et que tu retournes sur la feuille « Full », elle est immédiatement actualisée. Afin que tu puisses quand même voir toutes les lignes si désiré, j’ai placé un bouton sur cette feuille (vers la cellule C2).

Lunatix50 a écrit :

J'avais déjà réaliser une macro "supprimer0" pour supprimer tout les 0 présents dans la colonne B, je pense que c'est une alternative à la votre mais la mienne me permet pas de rétablir les lignes contrairement à la vôtre

Effectivement qu’en supprimant les lignes, elles ne sont plus à disposition pour un prochain usage ; en les masquant simplement, oui

Merci de tester cette première partie et de dire ce qui doit encore être amélioré.

Amicalement.

Salut,

Je suis de plus en plus heureux d'avoir de tes nouvelles car à chaque fois mon fichier devient vraiment un petit bijoux ! c'est une merveille que tu as fait là et pour moi je pense que la version 4 ou 5 sera la définitive !

Je modifie tout de suite mon fichier (niveau des couleurs des cellules) pour qu'il soit moins volumineux.

J'aime vraiment bien la macros évènementielle qui se déclenche à chaque fois que la feuille "full" est sélectionnée.

A partir de la ligne 699 qui s'applique à l'onglet communication, c'est exactement le même principe que les autres, nous avons un onglet "Communication" avec différentes sous famille ( communication, GSM, GPRS, fibre optique ) je comprend pourquoi tu n'avais pas bien saisi, le fichier n'était pas clair à ce niveau ( je le modifie de suite ! )

Nous devons donc avoir dans la feuille "full" :

une ligne (655) : Communication ( qui sert de titre )

une ligne (656) : Communication GSM

X ligne : qui sera remplie par les composants d'une communication GSM ( comme c'est le cas maintenant : convertisseur ethernet/gsm, modem, ...)

une ligne 678 : Communication GPRS

x ligne : idem que précédent

une ligne 700 : communication fibre optique

x ligne : idem que précédent

L'onglet chantier fonctionne exactement sous le même principe que les autres.

C'est exactement la même chose que l'onglet "Départ moteur"

Pour modification :

Serait t'il possible que les lignes qui contiennent un "0" dans la colonnes B de la feuille "Full" ne soit pas copiée. Je m'explique sous forme d'exemple :

Ligne 146 : Disjoncteur amont ( en titre de la sous famille )

Ligne 147 : 2 Disjoncteur 2P 4A 6KA

Ligne 148 : 0 Disjoncteur ....

Ligne 149 : 0 Disjconteur ...

Je rajoute pour l'exemple :

Ligne 150 : 3 Disjoncteur 3P 6A 10KA

J'aimerai que les lignes 148 et 149 ne soit pas affichée dans le tableaux full car celle-ci sont à 0 mais reste tout de même dans l'onglet "Création de tension Aux" même si elles sont à 0.

Je te rappelle mon principe de tableaux (qui ne doit certainement pas être le plus clair possible ) c'est d'avoir une grosse base de données dans les onglets des sous familles (qui comprendrait donc beaucoup de matériel électrique) et au fur et a mesure que l'ont rajoute des quantités de matériels dans les onglets des sous familles, ceux-ci s'ajoute dans la feuille "full" qui est la feuille récapitulatif de tout mes tableaux.

Il y a un petit soucis avec la ligne 286, 318, 350, les éléments qui sont présents dans l'onglet "départ moteur" ne s'affiche pas sur la feuille full (sauf quand on clique sur le bouton Montrer les lignes ).

Même petit problème ligne 539 avec la famille PLC et ligne 603 famille Consommable tableau

Pour ce qui est de la ligne vide qui dois être remplie manuellement, oublions cette idée après réflexion elle ne sert à rien !

Re,

Je n’avais pas été plus loin que la ligne 699 dans mon dernier fichier car je n’avais pas trop compris ce que tu désirais avec ces anciennes lignes 721 à 727.

Il y a quelque chose que tu sembles ne pas comprendre, c’est que les lignes ne sont pas copiées ou je ne sais quoi, mais uniquement masquées ou non en fonction d’un certain nombre de conditions, donc dans tous les cas toujours bien présentes et toujours comprises dans le formule pour les totaux dans la colonne H. De plus tu m’indiques qu’il ne faut pas modifier les autres onglets que «Full», mais je ne l’ai jamais fait.

Afin de résumer, voici les conditions que j’avais placées sur le dernier fichier fourni et ceci pour les lignes 25 à 699 passées en revue l’une après l’autre : A) Si la cellule de la colonne B de la ligne x est du texte OU B) si la valeur de la cellule de la colonne F de la ligne x est plus grand que zéro OU C) si la cellule de la colonne H de la ligne x est différente de vide, ALORS ne pas masquer la ligne, dans tous les autres cas, masquer la ligne.

La première des conditions ci-dessus permettait de ne pas masquer la ligne s’il s’agissait d’une ligne de titre (lignes 25, 91, etc.) ; la deuxième de ne pas masquer la ligne si elle comportait un montant plus élevé que 0 dans la colonne F et la troisième de ne pas masquer la ligne s’il s’agissait d’une ligne comportant un total, même d'un montant de 0.

A la lumière de tes dernières explications, je te propose un nouveau code qui va aller rechercher quelle est la dernière ligne de la colonne B (ceci afin que ce code fonctionne même si tu vas ajouter des lignes par la suite ; pour le fichier retourné, il s’agira donc de la ligne 836) et qui va boucler sur toutes les lignes entre la ligne 25 et cette dernière ligne et qui ne les masquera pas selon les nouvelles conditions suivantes :

A) Si la cellule de la colonne B de la ligne x est du texte OU

B) si le chiffre de la cellule de la colonne B (C’EST LA NOUVEAUTE) de la ligne x est plus grand que zéro OU

C) si la cellule de la colonne H de la ligne x est différente de vide.

Peut-être qu’ainsi des lignes que tu ne voudras pas seront masquées. On cherchera alors des solutions aux problèmes qui pourraient se présenter.

Afin de poursuivre la logique commencée, j’ai placé des totaux dans les cellules H479, H771, H793, H815 et H837.

Si nécessaire, on pourrait trouver les conditions nécessaires à masquer ou non les lignes 9 à 24, si nécessaires indépendamment des autres lignes.

Avec le code tel que présenté, il ne faudrait pas ajouter des lignes avant la ligne 25. Si tu dois le faire, il faudra peut-être trouver une solution pour en tenir compte (et éventuellement trouver une solution immédiatement, pendant que l'on pense encore à ce problème).

Cordialement.

Que dois-je dire mis à part : MERCI !

J'ai réussi à adapter l'onglet "Armoire + accessoire" dans la même mise en forme des autres, je pense que maintenant le tableau est parfaitement mis en page et il reste juste à le remplir ( mon boulot donc ).

Je vais manipuler le tableaux et observer le fonctionnement mais si toutes fois je trouve quelques pépins, puis-je encore me tourner vers toi ?

Maintenant si c'est assez facile d'explications et d'application, comment je dois faire si je dois rajouter des lignes dans les onglets des sous familles ? il faut modifier une certaine valeur dans la macros ?

Si un jour je veux rajouter des onglets, est-ce applicable facilement ?

Encore une fois un grand merci, tu as tout mon respect, si je peux te rendre utile dans n'importe quel domaine (à mon avis pas excel ) n'hésite vraiment pas !!!

Bonjour,

Lunatix50 a écrit :

..... mais si toutes fois je trouve quelques pépins, puis-je encore me tourner vers toi ?

Mais bien entendu

Je ne sais pas exactement quelles sont tes connaissances en VBA et je ne sais pas si c’est bien ou non de t’indiquer que tu peux modifier la macro toi-même, au risque de modifier des choses qu’il ne faudrait pas.

Afin de voir le code, tu cliques Alt+F11 et tu tombes sur une image identique à celle-ci

14 03

Là tu vois que j’ai indiqué la portée de mon code de la ligne 25 à la dernière ligne occupée de la colonne B (For i = 25 to DerLigB).

Si tu as modifié les données concernant « Armoire + Accessoire » tu pourrais remplacer ce 25 par 22 et le code contrôlerait également les lignes 22 à 24 en plus.

Si tu rajoutes des onglets à ton fichier et des paragraphes y correspondant dans ton tableau de la feuille «Full» après la ligne 25 (ou 22), les lignes seront masquées ou non identiquement aux autres (donc selon les 3 mêmes conditions).

Vu la texture de ton fichier, je t’avais proposé cette solution un peu compliquée pour laquelle le nombre de lignes de réserve de la feuille «Full» doit correspondre au nombre de lignes prévues dans l’onglet correspondant car je ne voyais pas vraiment d’unité dans tes feuilles des sous-familles. Mais il est bien entendu que si tu désires revoir entièrement la texture de tes feuilles des sous-familles –notamment les unifier - on pourrait agir autrement et n’avoir sur ta feuille «Full» que les lignes nécessaires, sans lignes masquées. Mais ça risque d’être tout un boulot Si jamais dis-moi si ça t'intéresse et on regarde ensemble comment devrait se présenter tes feuilles des sous-familles.

Cordialement.

Salut,

Merci de m'expliquer comment modifier les macros, je ne connais rien en VBA donc je préfère laisser ça en suspend pour le moment et me pencher dessus par après

Après réflexion et un peu d'utilisation de mon tableau je l'ai un peu actualisé niveau de la mise en forme :

- J'ai renommé la feuille "full" en feuille "résumé"

- J'ai ajouté une colonne " Total famille" (colonne M) dans la feuille résumé.

- J'ai déplacé la colonne "Commentaire" dans les sous familles, je l'ai mises en dernière colonne du tableaux

- J'ai modifier la sous famille "Armoire et accessoire" de la même manière des autres onglets (exactement la même mise en page) j'ai rajouter des enveloppes de différentes matière, enfin bref, pour cette partie il n'y a aucun problème au niveau de l'application de la macros

- J'ai également modifier Les 2 premières familles dans la feuille "résumé" qui était "Arrivée tension" et "Préparation atelier TGBT" en "Etudes,Plans,schémas" et "arrivée tension". J'ai donc rajouter dans un ordre logique de sous famille ces 2 onglets que j'ai adapté dans la même mise en forme du tableaux (j'ai donc uniformiser tout le tableaux)

- Tout en bas du tableaux tu retrouvera un petit résumé de mes sous totaux

Voici donc les modifications que je voudrais apporter :

- Je voudrais appliquer la macros au nouvel onglet "Etudes plans et schémas" (apparement pour l'onglet arrivée tension il n'y a aucun problème d'application de la macros) j'ai donc rajouter en couleur brune les cellules à masquer (exactement comme on a fait précédemment)

- J'aimerai supprimé la colonne I "Total exelio" car lorsque je le fais, un message d'erreur de macros s'applique je ne sais pourquoi..

- L'onglet "accessoire chantier" dans le tableau résumé ne fonctionne pas lorsque je rajoute dans la sous famille "chantier" une ligne, celle-ci ne se rajoute pas automatiquement...

Maintenant une demande un petit peu plus particulière dont je vais essayer de me faire comprendre

Tu verras que dans chaque sous famille je suis venu rajouter en ligne 3 ET/OU 4 une ligne de couleur grise ou verte, en fonction de ce qui est récapitulé dans la feuille "résumé" Exemple :

Ligne 73 feuille résumé : Armoire + accessoire

Ligne 74 feuille résumé : Enveloppe

J'ai donc rajouter dans la sous famille "Armoire + accessoire" en ligne 3 Armoire + accessoire en vert et ligne 4 Enveloppe en gris. En ligne 5 Enveloppe aluminium. De fait à vraiment uniformiser mon tableaux, j'aimerai que la feuille "résumé" soit vraiment une copie-conforme des sous onglets... j'espère que tu vois ce que je veux dire ?

J'aimerai donc que toutes les lignes des sous familles (ainsi que les titres des différentes couleurs) se copie au bon endroit dans la feuille "résumé". J'imagine que ça doit être un peu flou pour toi, si tu ne comprend pas bien, revient moi et j'essayerai de m'expliquer mieux!

Merci d'avanceç!

Amicalement

Salut,

Tu as une avalanche de questions et j'espère ne pas être ensevelli

Il manque ton fichier

A te relire.

Ok désolé fausse manip

Salut,

Fais attention de ne pas placer des données dans la colonne B en dessous de la dernière ligne à masquer éventuellement, autrement tu vas fausser la macro.

Lorsque tu supprimes la colonne «Total exelio», tu as des erreurs qui s’inscrivent dans les cellules F814, G814 et H861 (et peut-être également dans tes récapitulatifs dans les lignes 1049 à 1065) ; alors le code bloque sur cette cellule H861, lorsqu’il contrôle si elle est vide ou non. Dans le fichier ci-joint, j’ai remplacé ta formule par 0 et ça passe. Corrige donc tes formules de ces cellules et tout ira bien.

Tu dis : «- L'onglet "accessoire chantier" dans le tableau résumé ne fonctionne pas …». C’est une erreur de ma part, genre d’erreurs que l’on découvre très souvent à l’utilisation seulement. En deux mots, voici l’explication : imagine que tu quittes la feuille «Résumé» alors que la dernière cellule visible de la colonne B est la B1028. Tu modifies ensuite la feuille «Chantier» en y ajoutant des informations à la ligne 97. Lorsque tu reviens sur la feuille «Résumé», la macro va d’abord chercher quelle est la dernière ligne visible de la colonne B et traitera toutes les lignes de la première définie (jusqu’ici la 25) à la dernière ligne visible, donc la 1028 donc la ligne 1029 reste fermée. Afin d’éviter ce problème, j’ai modifié mon code afin que toutes les lignes soient d’abord rouvertes avant que le code cherche quelle est la dernière ligne de la colonne B.

Dans le nouveau fichier ci-joint, la première ligne traitée est la 9.

Concernant ta demande « un peu plus particulière » : Il me semble que je comprends bien ce que tu veux dire, mais je ne vois pas pourquoi tu veux automatiser tout ça. Tu as 13 onglets avec quelques lignes concernées seulement et la plupart de ces titres sont déjà corrects sur la feuille «Résumé». Alors pourquoi voudrais-tu que je passe probablement plusieurs heures à chercher une solution automatisée alors je pourrais faire cela – ou toi-même – manuellement en 20 minutes ? A moins que tu doives rajouter 5 onglets par jour jusqu’à la fin des temps, je ne vois pas l’utilité d’automatiser tout ça.

A propos, tu sais quand même que si tu ajoutes une ligne intermédiaire n’importe où, les formules inscrites dans les lignes en dessous sont automatiquement corrigées ? De plus, ce rajout de lignes n’aurait aucune influence sur la macro en place, puisqu’elle est prévue quel que soit le nombre de ligne.

Ou alors je ne t’ai absolument pas compris et tu dois me réexpliquer ton besoin.

A te relire.

Je viens d'essayer quelques lignes et tout à l'air de fonctionner niquel, encore une fois un grand merci ! Je vais pouvoir maintenant remplir mon tableau autre chose qu'avec des " test "

Sinon il me semble parfait comme ça ! je te reviens si jamais j'ai encore quelques questions ou modif mais pour l'instant ça devrait aller

Merci beaucoup pour tout le temps que tu as consacré à mon tableau. C'est génial de pouvoir penser qu'il reste des internautes dans ton genre !

Cordialement.

Salut,

Simple question, si par hasard un jour je dois rajouter une sous famille dans les familles, est-ce possible que celle-ci s'ajoute automatiquement dans la feuille résumé ?

Je m'explique à l'aide d'un exemple :

Si je veux rajouter une sous famille "Jeu de barre triphasé" dans l'onglet " Protection générale et JDB " qui se placerait donc à la ligne 121 en dessous de la sous famille "jeu de barre" (bien sur j'ajouterai un nombre x de lignes) est-ce qu'il est possible que celle-ci s'ajoute automatiquement sous la même forme (donc cellule grisée) dans l'onglet "résumé" sans modification trop importante ?

Si cela n'est pas trop compliqué pourrais-tu m'expliquer comment faire ? ( sauf si c'est en rapport avec ce que tu m'as expliqué au dessus, j'avoue ne pas m'être penché tout à fait dessus je n'ai pas encore réalisé de test )

En espérant encore une fois m'être bien fait comprendre

Cordialement.

Rechercher des sujets similaires à "mise jour automatique tableau"