P
Pias
Guest
Bonjour, le Forum
Dans une application j’utilise le code ci-dessus pour envoyer les valeurs d’une feuille de commande vers une autre feuille.
Ça fonctionne très bien pour des petites quantités, mais c’est claire que sur une feuille de commande de environ 500 lignes, c’est pas l’idéal, c’est beaucoup trop long.
Alors si quelqu’un a une idée comme je pourrais modifier le code de manière a que l’opération puisse se réaliser plus vite, ça serais très sympa.
Merci beaucoup d’avance
Pias
---------------------------------------------------------------------
Private Sub CommandButton1_Click()
Dim Ligne As Integer
Dim CL As Range
Ligne = Worksheets("commandes").Range("A65536").End(xlUp).Row + 1
For Each CL In Range("C13:C511")
If CL.Value > 0 Then
Worksheets("commandes").Range("C" & CStr(Ligne)) = CL.Offset(0, -2)
Worksheets("commandes").Range("A" & CStr(Ligne)) = Range("B7")
Worksheets("commandes").Range("B" & CStr(Ligne)) = Range("B8")
Worksheets("commandes").Range("D" & CStr(Ligne)) = Range("B9")
Worksheets("commandes").Range("D" & CStr(Ligne)).NumberFormat = Range("B9").NumberFormat
Worksheets("commandes").Range("E" & CStr(Ligne)) = CL
CL.Value = ""
Ligne = Ligne + 1
End If
Next
Range("B7").Value = ""
Range("B8").Value = ""
Call Feuil7.Masquerinv
End Sub
Dans une application j’utilise le code ci-dessus pour envoyer les valeurs d’une feuille de commande vers une autre feuille.
Ça fonctionne très bien pour des petites quantités, mais c’est claire que sur une feuille de commande de environ 500 lignes, c’est pas l’idéal, c’est beaucoup trop long.
Alors si quelqu’un a une idée comme je pourrais modifier le code de manière a que l’opération puisse se réaliser plus vite, ça serais très sympa.
Merci beaucoup d’avance
Pias
---------------------------------------------------------------------
Private Sub CommandButton1_Click()
Dim Ligne As Integer
Dim CL As Range
Ligne = Worksheets("commandes").Range("A65536").End(xlUp).Row + 1
For Each CL In Range("C13:C511")
If CL.Value > 0 Then
Worksheets("commandes").Range("C" & CStr(Ligne)) = CL.Offset(0, -2)
Worksheets("commandes").Range("A" & CStr(Ligne)) = Range("B7")
Worksheets("commandes").Range("B" & CStr(Ligne)) = Range("B8")
Worksheets("commandes").Range("D" & CStr(Ligne)) = Range("B9")
Worksheets("commandes").Range("D" & CStr(Ligne)).NumberFormat = Range("B9").NumberFormat
Worksheets("commandes").Range("E" & CStr(Ligne)) = CL
CL.Value = ""
Ligne = Ligne + 1
End If
Next
Range("B7").Value = ""
Range("B8").Value = ""
Call Feuil7.Masquerinv
End Sub