simon-baril01
XLDnaute Nouveau
Bonjour j'ai actuellement un tableau de 50 lignes. A Retenir !
j'aimerais que ma macro s'automatise par elle même au lieu de le faire manuellement à chaque fois...
puis j'aimerais qu'à chaque fois que ma macro efface ma ligne puis rapporte l'info à ma 2e page, qu'elle ajoute automatiquement une ligne à la fin de mon tableau afin qu'il reste toujours à 50 lignes... merci les amis !
voici ma macro :
Sub Cheezy()
'Updated by Kutools for Excel 2017/8/28
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("EnCours").UsedRange.Rows.Count
J = Worksheets("Histo").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Histo").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("EnCours").Range("A1:A" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Oui" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Histo").Range("A" & J + 1)
xRg(K).EntireRow.Delete
If CStr(xRg(K).Value) = "Oui" Then
K = K - 1
End If
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub
j'aimerais que ma macro s'automatise par elle même au lieu de le faire manuellement à chaque fois...
puis j'aimerais qu'à chaque fois que ma macro efface ma ligne puis rapporte l'info à ma 2e page, qu'elle ajoute automatiquement une ligne à la fin de mon tableau afin qu'il reste toujours à 50 lignes... merci les amis !
voici ma macro :
Sub Cheezy()
'Updated by Kutools for Excel 2017/8/28
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("EnCours").UsedRange.Rows.Count
J = Worksheets("Histo").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Histo").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("EnCours").Range("A1:A" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Oui" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Histo").Range("A" & J + 1)
xRg(K).EntireRow.Delete
If CStr(xRg(K).Value) = "Oui" Then
K = K - 1
End If
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub