Dadi147
XLDnaute Occasionnel
Bonjour. Je souhaite copier des données de Sheet1 à Sheet2 à condition qu'il y ait une valeur nulle de la colonne F à N La ligne est supprimée et le reste copié. Le code suivant vérifie simplement la colonne F Je veux ignorer la ligne uniquement s'il y a une valeur nulle dans toutes les cellules
VB:
Sub CopyData()
Dim x, y(), i As Long, ii As Long, iii As Long
Dim lr As Long
Set st = Sheets("sheet1")
Set WS = Sheets("résultat")
lr = st.Range("D" & Rows.Count).End(xlUp).Row
lr2 = WS.Range("A" & Rows.Count).End(xlUp).Row
x = st.Range("D1:N" & lr)
For i = 1 To UBound(x, 1)
If x(i, 3) <> 0 Then
iii = iii + 1: ReDim Preserve y(1 To UBound(x, 2), 1 To iii)
For ii = 1 To UBound(x, 2)
y(ii, iii) = x(i, ii)
Next
End If
Next
With Sheets("résultat")
WS.Range("a2:k" & lr2).ClearContents
.[a1].Resize(iii, UBound(y, 1)) = Application.Transpose(y)
End With
End Sub