XL 2013 Supprimer des lignes sous condition

goupin

XLDnaute Nouveau
Bonjour La communauté ,

Je fais appel à votre aide concernant un petit rapport que j'aimerai automatiser

Je suis un vrai débutant sur excel, donc le maximum de détails serait vraiment appréciable

Un logiciel interne à mon entreprise génere un planning de travail pour l'ensemble de mes collaborateurs

Le fait est , que si un manager valide la prise de congés d'un collégues , le logiciel génere deux lignes pour ce collégue
avec sur la colonne statut : WORK pour al première et VACA pour la seconde

L'idée est de supprimer automatiquement la ligne WORK dans ce cas de figure et garder celle avec VACA (fichier en pièce jointe)

J'ai fais le tour du forum , mais je n'ai pas trouvé de réponse à ma question. Si jamais vous en voyez sur d'autres fils n'hésitez pas à m'en faire part

Merci pour votre aide
 

Pièces jointes

  • planning v1.xlsx
    67.7 KB · Affichages: 40
  • planning v1.xlsx
    67.7 KB · Affichages: 62

goupin

XLDnaute Nouveau
Re : Supprimer des lignes sous condition

Bonjour Eddy

Non pas vraiement parceque ensuite j'ai besoin de récupérer un seul tableau avec les collaborateurs en VACA et ceux qui WORK reellement

Alors que dans ce cas , ceux qui sont en VACA sont aussi considérés comme en statut WORK

Merci pour ton aide
 

eddy1975

XLDnaute Occasionnel
Re : Supprimer des lignes sous condition

Re

Dans ta demande au départ tu dis que tu veux supprimer la ligne Work et garder celle de Vaca ????

Sinon fais un premier tri en filtrant Work et tu copies ta feuille puis fais la même chose avec Vaca. Cela te fera deux feuilles supplémentaires.
 

goupin

XLDnaute Nouveau
Re : Supprimer des lignes sous condition

Re

Sur le Tableau avec les collaborateurs, tu as ce genre d'anomalies :

Eddy1975 Vacation 02/03/2016 08:00 14:00
Eddy1975 Work 02/03/2016 08:00 14:00

Quand cela se produit, cela veut dire qu'Eddy est en réalité en Vacances

J'ai donc envie de supprimer la ligne Work pour Eddy1975 mais de maintenir celle des autres collaborateurs , pour ensuite transmettre le fichier au tranporteur

Merci
 

thebenoit59

XLDnaute Accro
Re : Supprimer des lignes sous condition

Bonjour tout le monde.
Je te propose cette procédure :

Code:
Sub Doublon()
    For lignes = 2 To Cells(Rows.Count, 1).End(xlUp).Row Step 1
        If WorksheetFunction.CountIfs(Range("A2:A" & lignes), Range("A" & lignes), Range("C2:C" & lignes), Range("C" & lignes)) = 2 And Range("B" & lignes) = "Vacation" Then
            Rows(lignes - 1).Delete
        End If
    Next lignes
End Sub

Même si je pense qu'il y a beaucoup plus simple.
 

eddy1975

XLDnaute Occasionnel
Re : Supprimer des lignes sous condition

Re

La je suis désolé mais il me semble que ton soucis vient plutôt du logiciel qui génère ton tableau Excel.
Sois tu le paramètres directement à la source, sois tu le fais manuellement par le biais des filtres dans ce cas précis.

La dans le cas qui tu énonces une macro s'impose pour dire que lorsqu'il y a une Vacation et un Work le lendemain pour un collaborateur la ligne Work du doublon doit disparaître. Et là, malheureusement, cela dépasse mes compétences.
 

goupin

XLDnaute Nouveau
Re : Supprimer des lignes sous condition

Ca marche !!

Merci Benoit

Est ce que tu peux m'aider à appliquer le même modéle aux autres statuts

je m'explique sur le fichier tu as les statuts suivants

Outage Paid
Outage Unpaid
Study Leave
Unpaid Time-off
Vacation

Or à chaque fois que l'un d'entre eux choisi par un manager, je reçois le doublon avec statut work

Peut on faire en sorte que comme ce que tu proposes précedemment , la ligne Work soit automatiquement supprimée

Merci infiniement pour ton aide
 

thebenoit59

XLDnaute Accro
Re : Supprimer des lignes sous condition

A remplacer dans le module :

Code:
Sub Doublon()
    For lignes = 2 To Cells(Rows.Count, 1).End(xlUp).Row Step 1
        If WorksheetFunction.CountIfs(Range("A2:A" & lignes), Range("A" & lignes), Range("C2:C" & lignes), Range("C" & lignes)) = 2 And Range("B" & lignes) <> "Work" Then
            Rows(lignes - 1).Delete
        End If
    Next lignes
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
311 740
Messages
2 082 049
Membres
101 882
dernier inscrit
XaK_