Eliminer les lignes complètes des Sur plusieurs feuilles

Bonjour à toutes et à tous,

Je viens par ce moyen demander le soutien des experts en Excel afin d’obtenir de l’aide car avec mes connaissances très très moyennes en Excel, je n’arrive pas à faire ce que j’aimerais.

Premièrement voici la situation, selon le modèle simplifié en annexe nous utilisons un fichier Excel (Excel 2010) pour répertorier les sorties que nous faisons sur les chantiers et sur plusieurs zones.

Ce fichier est disponible dans un serveur commun en monde classeur partagé, car il est mis à jour systématiquement tous les jours par environ 10 personnes différentes.

Tous les trois mois nous faisons un nettoyage de ce fichier en éliminant les chantiers qui ont été annoncées comme terminé, et modifiant le nom du fichier en fonction de la campagne par exemple (visite sécurité, respect des EPI, campagne de intempéries, Etc…)

J’aimerais pouvoir créer un code qui via un bouton macro permettrait de faire automatiquement les tâches suivantes :

1- Sauvegarde du fichier avec le nom de la campagne en cours (avant de passer à l’étape suivante).

2- De sélectionner les neuf premières feuilles et éliminer toutes les lignes complètes [/b][/u]des chantiers qui porteraient la mention terminée dans la colonne D (statut du chantier).

En bonus mais pas vraiment urgent, serait-il possible de créer une sorte d’alerte (code couleur) qui nous permette d’indiquer une commune (présent dans la colonne H) dans laquelle on n’aurait pas visiter sur les derniers (par exemple sur les six derniers mois) (sur la base de la liste des communes établi sur la feuille BD)

Je suis conscient que je vous demande peut-être trop de choses mais je bloque vraiment sur le point 2.

Bien évidemment je reste à disposition pour tout complément d’information ou renseignements et d’ores et déjà je vous remercie infiniment pour toute aide que vous pourriez m’apporter afin de résoudre ce petit problème.

Bonjour le forum

Bonjour sosaj

Pour la question 2

Essaie ceci

Sub Supprime_lignes()

Dim i As Long

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

ws.Cells.EntireRow.Hidden = False

For i = 1 To ws.Cells(Rows.Count, 4).End(xlUp).Row

If ws.Cells(i, 4).Text = "Terminé" Then ws.Rows(i).EntireRow.Delete

Next i

Next ws

End sub

Salut Sousaj, Bakh,

presque pareil, évidemment...

@ Bakh petit conseil : quand on élimine des lignes dans une feuille, on parcourt la colonne de BAS en HAUT!

La macro (qui se trouve dans le module 'THISWORKBOOK') démarre sur un double-clic en [A1] depuis n'importe quelle feuille.

Je ne suis pas certain de ce que tu souhaites exactement par ton code couleur puisqu'il existe déjà : une MFC colore de noir les cellules en [A:A] si la date est dépassée de 120 jours!!

Dans le doute et en postulant que tu aimerais avoir cette info en un coup d'oeil, la macro affiche dans une MsgBox le relevé des communes oubliées depuis 180 jours.

Autre point ambigu : tu as deux listes de communes en 'BDD1' [C:C] et [E:E].

La commune à répertorier comme oubliée doit-elle faire partie d'une de ces deux listes obligatoirement? Si oui, laquelle?

En l'état, la macro prend tout ce qui passe!!

Pour la question 1, pas compris sur quels critères il faut se baser, s'il faut effacer le fichier courant, si..., si...

A+

Bonjour à tous;

Curulis57

Merci c'est noté. Dis moi quelle est la subtilité qui se cache

derrière cette méthode de bas en haut?

Salut Bakh,

par exemple, une boucle de 1 à 3 pour éliminer les lignes dont [A] = 0

  • si [A1] = 0 --> ligne 1 éliminée ;
  • la ligne 2 devient ipso facto la ligne 1 ;
  • NEXT passe à la ligne 2 qui est en fait maintenant l'ancienne ligne 3 ;
  • tu as donc zappé le contrôle sur l'ancienne ligne 2

De bas en haut, refais le même raisonnement et tu comprendras...

A+

Curulis57

C'est très subtil. j'ai bien compris

la manip.

C'est valable aussi si je dois cacher des lignes selon

condition.

Merci

Messieurs,

Je vous remercie infiniment pour votre aide à la résolution de mon problème et accessoirement je vous prie d’excuser ma réponse tardive car j’étais à l’extérieur.

La solution à mon problème numéro 2 est réglée je vous remercie infiniment pour votre aide (je trouve le message d’alerte géniale pour les communes « oubliées »)

Concernant le problème numéro 1, l’idée de base s’était enserré le nom de la campagne effectuer dans une cellule par exemple dans la feuille BDD1 cellule G1, la macro devrait permettre d’enregistrer une version du fichier avec ce nom, avant d’appliquer l’illumination des lignes sur les chantiers terminés.

Quant au problème numéro 3 (bonus) je comprends que ce ne soient pas clair, il existe déjà en MFC un code couleur selon la date de la dernière visite des chantiers sur chaque feuille.

Ce que j’aimerais savoir avec votre aide bien évidemment, ça serait de savoir s’il existe une possibilité que dans les diverses feuilles, on puisse créer une alerte indiquant que sur une commune dans cette zone on ne serait pas passé depuis six mois (commune qui au départ n’est pas dans le tableau mais qu’il existe bel et bien dans la zone à parcourir)

Ex. feuille (Grand LSNE) Les Communes Lausanne, Le Mont, Prilly, etc… "ATT. Pas visité depuis les 6 derniers mois"

Selon moi cela devrait se pouvoir ce faire à la condition que sur chaque ville listée en BDD1 puisse être indiqué automatiquement la dernière date d’une visite.

Je vous rassure même pour moi c’est compliqué à comprendre, n’hésitez pas à me faire part de vos remarques. Si cela vous semble irréalisable ou très complexe ce n’est pas grave on fera sans, vous avez déjà énormément contribué à mon « problème ».

Merci infiniment

Rechercher des sujets similaires à "eliminer lignes completes feuilles"