Possibilité de supprimer plusieurs lignes avec du code VBA

Bonjour à tous,

Je travaille actuellement sur un fichier Excel (joint à ce message) dans lequel j'ai plusieurs lignes regroupées sous des blocs de variables. Chaque bloc a un total associé, et je souhaiterais supprimer l'ensemble des lignes d'un bloc lorsque le total correspondant est égal à 0.

L'idée est donc de vérifier la valeur du total et, si cette valeur est égale à 0, de supprimer toutes les lignes de ce bloc.

Le total est donc différent de 0 lorsque la question est posée, ou 0, lorsque ma question est désactivé cad pas poser.

Est ce qu'il serait possible de vérifier cette donnée avec du code vba, puis de supprimer le bloc de lignes de cette variable si cette donnée est =0;

Et comme vous pouvez le constater, le nombre de lignes change en fonction du type de la variable ou du nombre de réponse présenté aux répondants.

19test-frenchbee.xlsx (22.19 Ko)
image2

Pensez-vous qu'il est possible de supprimer ces blocs de lignes automatiquement avec du code, et générer des graphiques aussi.

Merci d'avance pour votre aide !

Salut,

Je ne suis pas certain d'avoir tout compris de tes explications, mais je te propose le fichier ci-joint pour lancer la discussion.

Dans ce fichier, toutes les lignes sont passées en revue et - si le total d'un bloc est 0 - le bloc entier est grisé. J'ai choisi cette solution provisoire - au lieu d'effacer les lignes - afin que ce soit plus visible.

Si les lignes grisées par la macro sont bien celles à supprimer, je peux modifier la macro afin qu'elles le soient. Mais faut-il réellement supprimer ces lignes ou est-ce qu'il suffirait de les masquer ?

A te relire.

Bonjour,

Merci beaucoup pour votre aide!

Mais je suis vraiment bloquée. J'ai essayé de faire fonctionner ta macro, mais elle n'est pas installée sur mon classeur.

J'ai essayé de résumer ma demande d'une façon plus claire.

Je travaille avec un fichier Excel dans lequel je récupère des données depuis un serveur. Je souhaite automatiser une tâche avec une macro VBA pour les étapes suivantes :

  1. Copier-coller les données dans mon classeur.
  2. Supprimer automatiquement les blocs de lignes correspondant aux variables dont le total est égal à 0 (ce total indique que la question n'a pas été posée, donc les détails de cette variable ne m'intéressent pas). Par exemple, dans mes données actuelles, la variable à supprimer serait Lieu_TRAVAIL.
  3. Je veux que la macro soit flexible, car les variables à supprimer peuvent changer à chaque fois.
  4. Une fois les blocs de variables non pertinents supprimés, je souhaite générer un graphique dans une autre feuille avec les variables restantes.

Je ne cherche pas simplement à masquer ou griser les variables, je veux les supprimer complètement. Comment puis-je automatiser cette tâche avec du code VBA ?

Merci pour votre aide !

Salut,

Le fichier que je t'ai envoyé contient une macro. Afin qu'elle fonctionne chez toi, tu dois accepter ou activer les macros lorsque tu télécharges ce fichier sur ta bécane. Je te conseille d'enregistrer le fichier chez toi et de le rouvrir par la suite.

Sinon tu dois aller voir du côté de tes options si tu n'as pas indiqué qu'il faut refuser toutes les macros. Il y a plein d'informations à ce sujet sur la toile (tutos, forums, etc.).

Le fait de griser les lignes au lieu de les supprimer est simplement car c'est plus simple pour les contrôles. Par la suite j'ai bien compris que tu veux supprimer ces lignes.

Avant d'aller plus loin dans la résolution de ton problème, il faut déjà que tu arrives à enclencher les macros sur ce fichier.

A te relire.

Bonjour,

Désolée pour cette réponse tardive.

J'ai réussi à débloquer le fichier dans les propriétés. Et la macro a bien fonctionné.

Ta solution marche parfaitement.

j'ai remplacé les données pour avoir plusieurs variables avec un TOTAL =0, et ça grise les blocs de lignes pour lesquels j'ai un total de 0.

le fait de pouvoir supprimer ça via une macro pourrait beaucoup m'aider.

Le but est de pouvoir les supprimer puis créer des graphiques automatiquement dans une deuxième feuille.

Je te remercie énormément pour ton aide.

En attendant ton retour.

Bonne journée.

Salut Yasminaar,

Dans le fichier v2 (pour version 2) ci-joint, les blocs de lignes anciennement grisés sont maintenant supprimés.

Concernant ton travail de copier-coller que tu voudrais voir automatisé, il faudrait que tu me montres un exemple de feuille Excel sur laquelle tu as ces données exportées de je-ne-sais-où sous leur forme première et que je vois comment les transférer sur la feuille QuickStatus.

A propos de cette feuille QuickStatus, j’ai compris que les lignes jusqu’à la ligne 22 étaient toujours identiques et que les blocs à contrôler – afin de les effacer ou non – commencent à cette ligne 22. Est-ce bien cela ?

Une fois qu’on aura résolu ce problème de transfert – et éventuellement la suppression immédiate des données inutiles – on pourra discuter de ton graphique.

Mais allons-y par étape.

A te relire.

bonjour yasminaar, salut Yvouille,

voici ma proposition, lancez la macro "Yasminaar"

Bonsoir à vous deux,

tout d'abord, je tiens à vous remercier énormément pour votre aide.

Yvouille, c'est ça, jusqu'à la ligne 22, c'est tout le temps pareil.

La solution de BsAlv est géniale. ça me surprend, on peut tout automatiser, je voudrais juste savoir comment je peux représenter uniquement les % de fiches (Colonne C), pas besoin de représenter les fréquences (Colonne B). Je souhaite utiliser aussi des graphiques en anneaux pour toutes les variables, sauf pour la variable composée comme (CHARGE_INSTRUCTIONS_TRAVAIL), sinon, tout est parfait.

Je vous remercie beaucoup.

bonne soirée

re,

nouveau essai,

re, une mise à jour ....

Bonjour,

ce que je voudrais aussi, c'est que le données à la colonne C (% Fiches) soit en pourcentage et sans décimales.

Je ne sais pas si cela est possible. sinon, c'est pas grave. Par exemple, avoir une donnée de 26%, plutôt que 26,12.

Merci pour votre aide.

je vous souhaite une très belle journée.

Merci beaucoup pour votre aide!

je vais regarder celà et je reviens vers vous si besoin.

Bonne journée!

Rechercher des sujets similaires à "possibilite supprimer lignes code vba"