Supprimer des colonnes et déplacer des lignes vers une autre feuille (cond)

Bonsoir,

Je travaille sur un fichier de suivi de traitement des anomalies et j'aimerai déplacer la feuille DNS vers la feuille "TO DO" après qu'on supprime automatiquement les colonnes F,G et H ainsi après qu'on supprime les anomalies de type "vides" (ou les cellules dans la colonne V sont vides).

En suite j’aimerai déplacer de la feuille "to do" les lignes des anomalies à traiter dont le status change vers d'autres feuilles dont le nom répond au critère sélectionné dans la colonne "W", par exemple déplacer une ligne dont le status est "done" vers la feuille "DONE", une ligne dont le status est "DOING" vers la feuille "DOING".

je ne sais pas du tout, du tout faire de macro, j'ai regardé dans les forums, je ne comprends pas

Merci d'avance pour votre aide

19exemple-dns.xlsx (20.86 Ko)

Salut,

Je ne suis pas certain d’avoir tout bien compris, mais je me lance.

J’ai considéré que tu collais des données dans la feuille ‘’DNS’’ et que tu voulais ensuite en reprendre qu’une partie sur la feuille ‘’TO DO’’. Mais comme tu as les mêmes titres dans les deux feuilles, ça me parait bizarre. J’ai donc supprimé les titres qu’il y avait en colonne F, G et H de la feuille ‘’TO DO’’.

La macro placée derrière le bouton ‘’Copier DNS’’ sur la feuille ‘’TO DO’’ devrait réaliser la première partie de tes souhaits. A savoir qu’à chaque fois, les données en place sur la feuille ‘’TO DO’’ sont effacées avant que les nouvelles données y soient collées.

Ton ancienne colonne V devient la colonne S (‘’Anomalies’’) et c’est sur la base de cette colonne que les lignes vides sont effacées.

Si cette première partie te convient, essaie d’expliquer un peu plus simplement la suite de ton travail.

Cordialement.

14exemple-dns-v1.xlsm (32.41 Ko)

Bonjour Yvouille,

D'abord un très grand Merci pour ton aide et d’avoir pris le temps pour me répondre.

Oui tu as raison la colonne V devient la colonne S (‘’Anomalies’’) et c’est sur la base de cette colonne que les lignes vides sont effacées.

J'ai essayé de continuer le travail que tu as fait et j'ai réussi à déplacer les lignes selon leurs status de traitement des anomalies (done ou en cours ) mais j'arrive pas à déplacer les lignes sans les laisser vides sur la feuille de base "TO DO".

Je te remercie énormément pour ta précieuse aide.

10dns.xlsm (41.19 Ko)

Salut,

Afin d'éviter que le code événementiel de la feuille TO DO se déclenche à chaque modification, j'ai placé les instructions Application.EnableEvents = False/True en début et en fin de la macro Copier_DNS.

Puis j'ai modifié ton code de la feuille TO DO de cette manière :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer

Application.EnableEvents = False

i = (Target.Row)

    If Not Intersect(Target, Range("T:T")) Is Nothing And Range("T" & Target.Row) = "DONE" Then
        Range("A" & Target.Row & ":T" & Target.Row).Cut
        Sheets("DONE").Range("A2").Insert Shift:=xlDown ', CopyOrigin:=xlFormatFromLeftOrAbove
        Rows(i).EntireRow.Delete
    End If
    If Not Intersect(Target, Range("T:T")) Is Nothing And Range("T" & Target.Row) = "EN COURS" Then
        Range("A" & Target.Row & ":T" & Target.Row).Cut
        Sheets("DOING").Range("A2").Insert Shift:=xlDown ', CopyOrigin:=xlFormatFromLeftOrAbove
        Rows(i).EntireRow.Delete
    End If

Application.EnableEvents = True

End Sub

Amicalement.

20dns-v2.xlsm (52.07 Ko)

salut,

Merci bien , c'est parfait

une dernière demande stp, j'aimerai juste trier les lignes à partir de la colonne H, je mets quoi comme code ?

et merci d'avance

Ca tu aurais pu trouver sur internet

Un code à adapter à tes besoins :

Rows("1:" & ActiveSheet.Range("H" & Rows.Count).End(xlUp).Row).Sort Key1:=Range("H1"), Order1:=xlAscending, Header:=xlYes

Amicalement.

Merci Bien

Rechercher des sujets similaires à "supprimer colonnes deplacer lignes feuille cond"