Suppression des colonnes et ajout de la date automatiquement

Bonjour

J'ai un fichier VBA qui me permet de copier les données de la feuille "fichier Brut" sur la feuille "A traiter" à partir de la cellule A2.

J'aurai besoin d'un code à intégrer dans la commande ''copier supprimer" qui existe sur la feuille "A traiter" afin que je puisse garder que les colonnes F à L c'est à dire supprimer les autres colonnes;

Aussi sur la feuille "A traiter" qu'on je mets l'état de traitement à T par exemple, la ligne se déplace automatiquement à la feuille "Traité" et j'aimerai ajouter une colonne ou la date de déplacement de la ligne se mets automatiquement

Merci d'avance

Je reste à votre disposition pour plus d'infos

Bonjour Ayoub, bonjour le forum,

Tu n'as pas eu de réponse car tu manques de clarté. D'abord, le code actuel ne semble pas du tout approprié à ton cas. Ensuite,
1. faut-il garder les données dans l'onglet Fichier brut après les avoir copiées ou faut-il les supprimer ?
2. faut il écraser les anciennes données dans l'onglet A TRAITER ou les copier les unes en dessous des autres. Comme ton bouton se nomme COLLER / Supprimer le doute m'habite...

Le code ci-dessous supprime les données (1) et les collent les une en dessous des autres (2), tu adapteras ni nécessaire :

Sub Macro1()
Dim OS As Worksheet 'déclare la variable OS (Ongelt Source)
Dim OD As Worksheet 'déclare la variable OD (Ongelt Destination)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

Set OS = Worksheets("Fichier brut") 'définit l'onglet source OS
Set OD = Worksheets("A TRAITER") 'définit l'onglet destination OD
DL = OS.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne A de l'onglet source
If DL = 1 Then Exit Sub 'si DL=1, sort de la procédure
Set DEST = OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0) 'définit la cellule de destination DEST (première ligne vide de la colonne A de l'onglet destination)
OS.Range("F2").Resize(DL - 1, 7).Copy DEST 'copy la cellule F2 redimensionnée et la colle dans DEST
OS.Range("A1").CurrentRegion.Offset(1, 0).ClearContents 'efface les ancienne données de l'ongelt source
End Sub

Pour le second problème :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

Set OD = Worksheets("Traité") 'définit l'onglet destination OD
If Target.Column <> 10 Then Exit Sub 'si la ceolonne de la cellule modifiée n'est pas la colonne 10 (=>J), sort de la procédure
Set DEST = OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0) 'définit la cellule de destination DEST (première cellule vide de la colonne A de l'onglet destinatioon)
If Target.Value = "T" Then 'condition : si la celluile modifiée est égale à  "T"
    With Rows(Target.Row) 'prend en compte la ligne de la cellule modifiée
        .Copy DEST 'copie la ligne dans DEST
        .Delete 'supprime la ligne
    End With 'fin de la prise en compte la ligne de la cellule modifiée
End If 'fin de la condition
End Sub

Bonjour ThauThème,

Je te remercie pour ton retour.

1. J'aimerai garder les données sur la feuille "Fichier brut".

2. Pour la deuxième question, j’aimerai écraser les anciennes données dans l'onglet A TRAITER (en gardant juste les titres);

Pour le seconde problème, ce que je cherche c'est de déplacer la ligne dans TRAITé comme tu a fait mais en ajoutant la date de déplacement de la ligne sur la colonne "K" automatique

Merci d'avance et merci pour ton aide

Re,

Je suis très étonné que, malgré les commentaires, tu ne sois pas capable de modifier le code toi-même.

Sinon, le problème, si tu gardes les données du Fichier Brut, c'est que chaque fois que tu vas cliquer tu vas rapatrier toutes les lignes. Même celles que tu auras déjà traitées.

En pièce jointe ton fichier modifié :

3ayoub-ep-v01.xlsm (246.12 Ko)
Rechercher des sujets similaires à "suppression colonnes ajout date automatiquement"