Supprimer une case d'une colonne après avoir cliquer sur un bouton

Bonjour,

J'ai créer une macro sur un bouton qui permet de copier une ligne et l'inséré sur une autre feuille si sur une colonne la case est coché mais j'aimerais pouvoir faire en sorte que dès que la ligne est copier sur la deuxième feuille que sa remette a zéro la case de la colonne de la ligne, exemple : ligne 4 copier supprimer E4 et D4. Voici mon fichier joint.

Merci par avance,

Laurent.

PS : ma macro est sur le bouton "Validé" et le nom du fichier du code est "tracatest2".

Bonjour Laurent, bonjour le forum,

Pas sûr d'avoir tout compris, notamment cette partie :

ligne 4 copier supprimer E4 et D4

???

Essaie le code ci-dessous :

Sub tracatest2()
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim TV As Variant 'déclare la variable TV (Tableau des valeurs)
Dim I As Integer 'déclare la variable I (Incrément)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

Set OS = Worksheets("Feuil1") 'définit l'onglet source OS
Set OD = Worksheets("tracabilité") 'définit l'onglet destination OD
TV = OS.Range("A1").CurrentRegion 'définit le tableau des Valeurs TV
For I = 2 To UBound(TV) 'boucle sur toutes les lignes I du tableau de valeurs TV (en partant de la seconde)
    If TV(I, 12) = "ü" Then 'condition : si la donnée ligne I colonne 12 est égale à "ü"
        'définit la cellule de destination DEST (première cellule vide de la colonne A de l'onglet OD)
        Set DEST = OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0)
        OS.Cells(I, 1).Resize(1, 12).Copy DEST 'copie la cellule ligne I, colonne 1 redimensionnée dans DEST
        OS.Cells(I, 12).Value = "û" 'remplace la coche verte par la croix rouge
    End If 'fin de la condition
Next I 'prochaine ligne de la boucle
End Sub

@ThauThème Merci beaucoup, pour ce que ta pas compris c'est qu'après avoir copier cette ligne sur la deuxième feuille j'aimerais que dans la colonne "Prêt le" et "Retour le" de cette ligne que la date soit supprimer.

Re,

Ok j'ai capté !... Le code modifié :

Sub tracatest2()
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim TV As Variant 'déclare la variable TV (Tableau des valeurs)
Dim I As Integer 'déclare la variable I (Incrément)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

Set OS = Worksheets("Feuil1") 'définit l'onglet source OS
Set OD = Worksheets("tracabilité") 'définit l'onglet destination OD
TV = OS.Range("A1").CurrentRegion 'définit le tableau des Valeurs TV
For I = 2 To UBound(TV) 'boucle sur toutes les lignes I du tableau de valeurs TV (en partant de la seconde)
    If TV(I, 12) = "ü" Then 'condition : si la donnée ligne I colonne 12 est égale à "ü"
        'définit la cellule de destination DEST (première cellule vide de la colonne A de l'onglet OD)
        Set DEST = OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0)
        OS.Cells(I, 1).Resize(1, 12).Copy DEST 'copie la cellule ligne I, colonne 1 redimensionnée dans DEST
        OS.Cells(I, 12).Value = "û" 'remplace la coche verte par la croix rouge
        OD.Cells(DEST.row,"D").ClearContents 'efface la cellule en colonne D de l'onglet destination
        OD.Cells(DEST.row,"E").ClearContents 'efface la cellule en colonne E de l'onglet destination
    End If 'fin de la condition
Next I 'prochaine ligne de la boucle
End Sub

Des fois je me demande pourquoi je m'emm***e à écrire les commentaires...

@ThauThème alors c'est presque sa c'est plutôt l'inverse mais j'ai simplement copier sa :

OS.Cells(I, 12).Value = "û" 'remplace la coche verte par la croix rouge

puis l'ai modifier comme sa a la suite de la ligne de code en haut :

OS.Cells(I, 4).Value = "" 
OS.Cells(I, 5).Value = "" 

En tout cas je te remercie beaucoup

Rechercher des sujets similaires à "supprimer case colonne cliquer bouton"