Macro pour mise à jour de la dimension d'un tableau lié et recalcul des totaux

Fermé
princesse82 Messages postés 58 Date d'inscription vendredi 1 mars 2013 Statut Membre Dernière intervention 16 juillet 2020 - Modifié le 15 juil. 2020 à 11:21
Le Pingou Messages postés 12046 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 - 16 juil. 2020 à 15:26
Bonjour,

j'ai un projet ambitieux mais des connaissances sommaires en VBA (créer une macro avec l'enregistreur, créer un bouton).
J'ai fait des recherches sur le net mais je ne maîtrise pas le langage codé, du coup je suis perdue. Pouvez-vous m'aider ou au moins m'indiquer le nom des fonctions qui pourraient correspondre svp?

J'ai un classeur avec 2 onglets : Effectif et Effectif Production.
Effectif production récupère les données de Effectif grâce à des liaisons et est simplement plus détaillé (nombre de barquettes (x6) et (x 1)). (Mais j'ai besoin des 2 onglets).

https://cjoint.com/c/JGpiAaoHiaE

Je voudrais
- que lorsque je supprime un ensemble de lignes d'un établissement sur Effectif (par exemple l'établissement 2 (ligne 21 à ligne 30)), Effectif production fasse de même.
- que les totaux de Effectif et Effectif production se mettent jour suite à cette suppression (mais je ne sais pas si c'est faisable) et que le tableau du bas demeure dans son intégralité c'est-à-dire qu'on n'en supprime pas de lignes car il calcule les chiffres de nombreux autres établissements que je n'ai pas indiqués pour alléger mes modèles.

Merci beaucoup




Configuration: Windows / Edge 83.0.478.61
A voir également:

3 réponses

Le Pingou Messages postés 12046 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
15 juil. 2020 à 18:28
Bonjour,
Pas trop clair votre demande.
Petite suggestion, faire les blocs de 10 lignes (10 menus) ont rempli les lignes nécessaire et au lieu de supprimer un bloc de 10 on ne fait qu’effacer le contenu et la plage reste vide pour des nouvelles données (en attendant cette plage peut être masquée).

0
princesse82 Messages postés 58 Date d'inscription vendredi 1 mars 2013 Statut Membre Dernière intervention 16 juillet 2020
16 juil. 2020 à 09:17
Bonjour Le Pingou, merci pour votre réponse.
Je préfèrerais supprimer plutôt que masquer les blocs obsolètes de 10 lignes parce que c'est ce qui se fait actuellement (les blocs sont masqués au cas où ils pourraient servir pour de nouveaux établissements et puis finalement, d'autres blocs sont créés car le contenu est mieux adapté (nombre de lignes, menu adéquat). Le masquage est cache misère).

J'avais aussi envisagé cette solution mais les blocs sont composés de 27 menus possibles (pour le modèle joint je n'en ai mis que 10). Ce serait donc des blocs de 27 lignes. On a parfois besoin de 4 lignes seulement pour un établissement et on a aussi vite fait d'ajouter des liaisons vers les totaux que de chercher la bonne ligne parmi les 27 possibles.

Concernant la somme automatique malgré la suppression de blocs, un ami m'a proposé la fonction SOMME.SI. Par exemple dans la cellule C41 de Effectif :
=SOMME.SI($A$12:$A$39;"*"&$A41&"*";C$12:C$39)

Cette formule appliquée à la plage entière du tableau de total, fonctionne parfaitement après suppression d'un bloc.
En revanche le bloc lié dans Effectif Production reste et affiche #REF.
Merci pour votre temps
0
Le Pingou Messages postés 12046 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
Modifié le 16 juil. 2020 à 16:11
Bonjour,
Merci du retour.
Je comprends votre préférence vers une suppression des blocs.
Eh bien, le plus simple, vous appliquer la formule de votre ami aussi dans la plage totaux de la feuille « Effectif Production » et ensuite vous pouvez supprimer manuellement les lignes de la feuille «Effectif » et faire de même sur la feuille « Effectif Production »
Donc pas de macro.



Salutations.
Le Pingou
0