XL 2010 Coller les lignes les uns après les autres

Koné Abdoulaye

XLDnaute Nouveau
Bonjour,
j'ai un bouton macro qui permet de copier des lignes de la feuille "vente" et coller dans la Feuille "historique vente" par condition. mais ce dernier ne fait que remplacer les données des lignes déjà enregistré donc j'aimerai qu'à chaque fois je clique sur le bouton enregistrer qu'elle insère une nouvelle ligne et colle les données.
 

Pièces jointes

  • stock et vente.xlsm
    30.7 KB · Affichages: 7
Solution
Bonjour et bienvenue sur le forum,

Remplacer le code comme ceci :
VB:
Sub Copy_vente_Cells()
Dim rOF As Integer
Dim rCF As Integer
Dim sOF As Worksheet
Dim sCF As Worksheet

Set sOF = Worksheets("VENTE")
Set sCF = Worksheets("HISTQUE VENTE")

 rCF = 2
 
    For rOF = 7 To 12
        If sOF.Cells(rOF, 1) > "01/01/2020" Then
            sOF.Range(sOF.Cells(rOF, 1), sOF.Cells(rOF, 6)).Copy sCF.Cells(Rows.Count, 1).End(xlUp)(2)
            rCF = rCF + 1
        End If
    Next
    Application.CutCopyMode = False
    End Sub

A+

GALOUGALOU

XLDnaute Accro
bonjour koné abdoulaye bonjour le forum
j'aurai du travailler sur votre macro, mais étant dans l'impossibilité de trouver une solution, je vous propose une autre solution (macro) qui fonctionne
cordialement
galougalou
 

Pièces jointes

  • Copie de stock et vente v1.xlsm
    30.5 KB · Affichages: 9

Calvus

XLDnaute Barbatruc
Bonjour et bienvenue sur le forum,

Remplacer le code comme ceci :
VB:
Sub Copy_vente_Cells()
Dim rOF As Integer
Dim rCF As Integer
Dim sOF As Worksheet
Dim sCF As Worksheet

Set sOF = Worksheets("VENTE")
Set sCF = Worksheets("HISTQUE VENTE")

 rCF = 2
 
    For rOF = 7 To 12
        If sOF.Cells(rOF, 1) > "01/01/2020" Then
            sOF.Range(sOF.Cells(rOF, 1), sOF.Cells(rOF, 6)).Copy sCF.Cells(Rows.Count, 1).End(xlUp)(2)
            rCF = rCF + 1
        End If
    Next
    Application.CutCopyMode = False
    End Sub

A+
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

Une troisième pour la route ;)
(Je copie sans copier, c'est seulement cela la valeur ajoutée ;)
VB:
Sub Copy_vente_Cells_BIS()
Dim rOF%, rCF%, sOF As Worksheet, sCF As Worksheet
Set sOF = Worksheets("VENTE"): Set sCF = Worksheets("HISTQUE VENTE")
rCF = 2
For rOF = 7 To 12
If sOF.Cells(rOF, 1) > CDate("01/01/2020") Then
sCF.Cells(Rows.Count, 1).End(3)(2).Resize(, 6) = sOF.Cells(rOF, 1).Resize(, 6).Value
rCF = rCF + 1
End If
Next
End Sub

PS: Merci Calvus pour l'appareil de base ;)
 

Discussions similaires

Réponses
9
Affichages
412

Membres actuellement en ligne

Statistiques des forums

Discussions
312 361
Messages
2 087 629
Membres
103 613
dernier inscrit
luluinmauritius