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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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+
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+
 
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 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
852
Retour