Bonjour à tous,
Je souhaiterai fiabiliser, optimiser, améliorer, épurer, le bout de code ci-dessous.
Je l'ai "bidouillé" jusqu'à avoir un résultat acceptable avec mes maigres connaissance en la matière,
Mon projet de base est le suivant :
Depuis la feuille stocks,
Copier les lignes dont la colonnes E (quantité) est non nul
Dans la feuille panier,
Insérer uniquement les lignes précédemment copier en dessous de la ligne dont la cellule est active,
Autres fonctions :
- conserver le même ordre dans les 2 feuilles
- Effacer la colonne E (quantité)
- Finir sur la feuille Panier
En VBA :
Sub inserer_article()
'Application.ScreenUpdating = False
Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim Derlig As Long
Sheets("Panier").Activate ' feuille de destination
Col = "E" ' colonne de la donnée non vide à tester
With Sheets("Stock") ' feuille source
Derlig = Range("E" & Rows.Count).End(xlUp).Row
For i = Derlig To 1 Step -1
If .Cells(i, 5).Value <> "" Then
.Cells(i, 5).EntireRow.Copy
Rows(ActiveCell.Row).Insert
End If
Next
End With
Sheets("Stock").Range("E13:E8000").ClearContents
'Application.ScreenUpdating = True
End Sub
Dans l'état, le résultat est acceptable même si je n'ai pas pourquoi une blanche s'insère avec les lignes collées
Je remercie par avance, ceux qui prendront le temps de m'éclairer de leur science,
Prenez soin,
Cordialement,