Effacer valeur d'une colonne

Bonjour, pour rendre ce fichier vraiment modulable,

je souhaiterais utiliser BOUTON 2 "macro" permettant de supprimer l'ensemble des données précédemment copiée.

Bouton 1 : copie colle les valeurs présentent en colonne L vers colonne I

Bouton 2 : supprime les valeurs présentent en colonne I

Merci par avance de vos retours §§

Bonjour,

Essaie ainsi :

Option Explicit

Public Sub CopyData()
Dim dl As Long, i As Long, Rng As Range
    For i = 1 To Worksheets.Count
        With Worksheets(i)
            dl = .Cells(.Rows.Count, 8).End(xlUp).Row
            Set Rng = .Cells(5, 12).Resize(dl - 4)
            .Cells(5, 9).Resize(Rng.Rows.Count) = Rng.Value
        End With
    Next i
End Sub

Public Sub CleanData()
Dim dl As Long, i As Long, Rng As Range
    For i = 1 To Worksheets.Count
        With Worksheets(i)
            dl = .Cells(.Rows.Count, 9).End(xlUp).Row
            Set Rng = .Cells(5, 9).Resize(dl - 4)
            Rng.ClearContents
        End With
    Next i

Bonjour et merci de votre retour,

j'ai essayer de le mettre en route sur mon fichier général et cela ne fonctionne pas.

Est-il necessaire de recoder la macro suivant qui fonctionne ?

Sub test()

Dim dl As Integer, i As Integer, j As Integer

For i = 1 To Sheets.Count

dl = Sheets(i).Range("H" & Rows.Count).End(xlUp).Row

For j = 5 To dl 'de la ligne 5 à la dernière ligne : à adapter

If Sheets(i).Range("L" & j) <> "" Then Sheets(i).Range("I" & j) = Sheets(i).Range("L" & j)

Next j

Next i

End Sub

J'ai essayer la macro CleanData

Public Sub CleanData()

Dim dl As Long, i As Long, Rng As Range

For i = 1 To Worksheets.Count

With Worksheets(i)

dl = .Cells(.Rows.Count, 9).End(xlUp).Row

Set Rng = .Cells(5, 9).Resize(dl - 4)

Rng.ClearContents

End With

Next i

Elle ne marche pas, erreur en jaune : " Set Rng = .Cells(5, 9).Resize(dl - 4)"

Bonjour,

Mission réussie, avec prise en charge sur l'ensemble des feuilles du classeurs

Bouton 1 : copie colle les valeurs présentent en colonne L vers colonne I

Bouton 2 : supprime les valeurs présentent en colonne I

Voici le code VBA qui fonctionne pour moi :

Sub Efface()

Dim xWs As Worksheet

On Error Resume Next

For Each xWs In Worksheets

xWs.Range("I:I").ClearContents 'efface les valeurs de la colonne I

Next

End Sub

Sub Affiche()

'copie les valeurs de la colonne L en colonne I

Dim dl As Integer, i As Integer, j As Integer

For i = 1 To Sheets.Count

dl = Sheets(i).Range("H" & Rows.Count).End(xlUp).Row

For j = 5 To dl 'de la ligne 5 à la dernière ligne : à adapter

If Sheets(i).Range("L" & j) <> "" Then Sheets(i).Range("I" & j) = Sheets(i).Range("L" & j)

Next j

Next i

End Sub

Rechercher des sujets similaires à "effacer valeur colonne"