Macro pour supprimer des lignes dans d'autre sheet

Bonjour,

Sans modifier la disposition de mon fichier excel, j'aimerai créer une macro dans la sheet ALL qui :

1/ Trie les deals en faisant apparaitre ceux qui sont avant la date d'aujourd'hui. Il apparait alors un ensemble de deal que nous appelons A par exemple.

2/ Puis qui supprime alors les lignes des deals A dans les sheets "produit leg" , "produit fru" et "produit rac"

Par exemple le produit 15280 appartient à l'ensemble de deal A( qui sont les deals avant la date d'aujourd'hui) dans ALL.

On voit que la sheet "produit leg" contient 5 lignes du produit 15280.

La macro supprimera alors ces 5 lignes dans "produit leg" (et non dans ALL).

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Quelqu'un pourrait-il m'aider pour cette macro s'il vous plaît?

je vous mets le fichier en pièce jointe.

Merci beaucoup

8essai.xlsm (27.43 Ko)

Bonjour

Je présume qu'il ne faut supprimer que les lignes des produits dont la date est inférieur à aujourd'hui...

Ci joint ma solution

15madix.xlsm (29.43 Ko)

A+ François

Bonjour fanfan et merci de ta réponse.

En fait, il y a une subtilité: ce n'est pas vraiment la suppression des lignes de produit dont la date est inférieur à aujourd'hui dans les sheet" produits legu", produit fru, produit rac mais la suppression :

Exemple avec le produit 15785 :

Dans la sheet all on a

1578531/03/2023

dans la sheet "produits legu", on a

1578528/06/2019
1578530/09/2019
1578531/12/2019
1578531/03/2020
1578530/06/2020
1578530/09/2020
1578531/12/2020
1578531/03/2021
1578530/06/2021
1578530/09/2021
1578531/12/2021
1578531/03/2022
1578530/06/2022
1578530/09/2022
1578530/12/2022
1578531/03/2023

La macro ne devrait pas supprimer aucune ligne de ce produit dans "produit legu" mais là elle supprime :

1578528/06/2019
1578530/09/2019
1578531/12/2019
1578531/03/2020
1578530/06/2020
1578530/09/2020
1578531/12/2020
1578531/03/2021
1578530/06/2021
1578530/09/2021
12.zip (223.48 Ko)

Merci encore

Il fallait être plus précis dans ton énoncé.... il faut donc supprimé seulement ceux qui ont la même date?

A+ François

Excuse moi, je vais essayer d'etre plus clair en mettant deux exemples :

1/ Supposons que je suis dans all et que j'ai trié pour avoir les produits avant la date d'aujourd'hui.

2/ Dans ALL j'ai par exemple le produit:

1578531/03/2023

sa date de fin est 31/03/2023. Donc aucune ligne ne sera supprimé dans la "sheet légu".

On sait que 15785 se trouve dans la sheet "produits légu" comme tel:

1578528/06/2019
1578530/09/2019
1578531/12/2019
1578531/03/2020
1578530/06/2020
1578530/09/2020
1578531/12/2020
1578531/03/2021
1578530/06/2021
1578530/09/2021
1578531/12/2021
1578531/03/2022
1578530/06/2022
1578530/09/2022
1578530/12/2022
1578531/03/2023

même s'il y a des dates antérieurs à maintenant le fait que dans ALL on est par encore atteint la date fera que toutes les lignes du 15785 seront conservés dans la sheet "produits legu"

2/ Dans ALL on a le produit suivant :

1582425/06/2020

Ce produit est passé dans ALL et toutes les lignes suivantes seront supprimés dans la sheet "produit légu":

1528025/06/2019
1528025/09/2019
1528027/12/2019
1528025/03/2020
1528025/06/2020

J'espere que c'est plus comprehensible

Merci encore

Excuse moi, je vais essayer d'etre plus clair en mettant deux exemples :

1/ Supposons que je suis dans all et que j'ai trié pour avoir les produits avant la date d'aujourd'hui.

2/ Dans ALL j'ai par exemple le produit:

1578531/03/2023

sa date de fin est 31/03/2023. Donc aucune ligne ne sera supprimé dans la "sheet légu".

On sait que 15785 se trouve dans la sheet "produits légu" comme tel:

1578528/06/2019
1578530/09/2019
1578531/12/2019
1578531/03/2020
1578530/06/2020
1578530/09/2020
1578531/12/2020
1578531/03/2021
1578530/06/2021
1578530/09/2021
1578531/12/2021
1578531/03/2022
1578530/06/2022
1578530/09/2022
1578530/12/2022
1578531/03/2023

même s'il y a des dates antérieurs à maintenant le fait que dans ALL on est par encore atteint la date fera que toutes les lignes du 15785 seront conservés dans la sheet "produits legu"

2/ Dans ALL on a le produit suivant :

1528025/06/2020

Ce produit est passé dans ALL et toutes les lignes suivantes seront supprimés dans la sheet "produit légu":

1528025/06/2019
1528025/09/2019
1528027/12/2019
1528025/03/2020
1528025/06/2020

J'espere que c'est plus comprehensible

Merci encore

Peux tu te relire...

/ Dans ALL on a le produit suivant :

1582425/06/2020

Ce produit est passé dans ALL et toutes les lignes suivantes seront supprimés dans la sheet "produit légu":

1528025/06/2019
1528025/09/2019
1528027/12/2019
1528025/03/2020
1528025/06/2020

Dans ALL on a le produit suivant :

1528025/06/2020

Ce produit est passé dans ALL et toutes les lignes suivantes seront supprimés dans la sheet "produit légu":

1528025/06/2019
1528025/09/2019
1528027/12/2019
1528025/03/2020
1528025/06/2020

désolé, j'ai rectifié

J'espère avoir résolu ton problème

3madix.xlsm (33.74 Ko)

A+ François

Merci de ta réponse

Dans ALL maintenant quand je fais la macro je me retrouve avec" les produits legu", " produit fru", et "produit rac" en plusieurs exemplaires alors que ce qu'il y a dans ALL ne doit pas changer, c'est seulement les produits dans "produits légu" produit fru" et "produit rac" qui doivent etre supprimé.

Je pense que je dois m'exprimer vraiment tres mal ou alors ce que je dis peut s'interpreter de differente maniere, je vais essayer de nouveau :

1/ Dans la sheet ALL rien ne sera modifié ni supprimé.

2/ les éléments qui seront supprimés seront ceux dans "produit légu", "produit fru", "produit rac" qui respecte ce critére:

a) Si le produit est terminé dans la sheet ALL, alors il sera supprimé dans l'une des 3 sheets dans lequel il se trouve " produits legu", "produit fru", produit rac"

b) sinon il reste intacte dans ces sheets

Exemple:

Dans la sheet ALL on voit que 15389 est terminé

1538925/03/2021

on va le rechercher dans l'une des 3 sheets "produits legu", "produits fru" et "produit rac"

On voit qu'il est dans la sheet "produits legu" et qu'il y a les lignes suivantes associées:

1538925/06/2019
1538925/09/2019
1538927/12/2019
1538925/03/2020
1538925/06/2020
1538925/09/2020
1538928/12/2020
1538925/03/2021

Ces lignes seront donc supprimés ( les lignes dans la sheet "produits légu")

Je remets le fichier de depart

22.zip (223.48 Ko)
Rechercher des sujets similaires à "macro supprimer lignes sheet"