Copie lignes et coller dans un autre classeur
badr
-
badr -
badr -
Bonjour,
J'ai crée une macro qui permet de copier plusieurs lignes dans la feuille ("Commissions") selon un critére (si la date en colonne "G" est comprise entre 2 dates affichées dans une autre cellule) et de copier ces lignes sur une autre feuille (feuil1).
Ma macro tourne bien, mais le probléme c'est qu'elle colle ces lignes sur la même feuille ou elle les copie, c'est-à-dire dans la feuille ("Commissions").
Voici mon code:
Cordialement,
Badr
J'ai crée une macro qui permet de copier plusieurs lignes dans la feuille ("Commissions") selon un critére (si la date en colonne "G" est comprise entre 2 dates affichées dans une autre cellule) et de copier ces lignes sur une autre feuille (feuil1).
Ma macro tourne bien, mais le probléme c'est qu'elle colle ces lignes sur la même feuille ou elle les copie, c'est-à-dire dans la feuille ("Commissions").
Voici mon code:
Sub Macro4()
Dim com As Worksheet
Dim dated As Integer
Dim datef As Integer
Dim x1 As Long
Dim fin As Long
dated = Range("J12").Value
datef = Range("J13").Value
Dim reg1 As Variant
MsgBox ("Ouvrir le fichier de commission")
reg1 = Application.GetOpenFilename(" classeur microsoft excel (*.xls), *.xls ", 2, "ouverture du mois en cours", True)
Workbooks.Open Filename:=reg1
Worksheets("Commissions").AutoFilterMode = False
Worksheets("feuil1").Activate
NumLig = 1
With Worksheets("Commissions").Select
fin = Cells(65536, 7).End(xlUp).Row
For x1 = 2 To fin
If dated < Cells(x1, 7).Value < datef Then
Cells(x1, 7).EntireRow.Copy
NumLig = NumLig + 1
Cells(NumLig, 1).Select
ActiveSheet.Paste
End If
Next
End With
End Sub
Cordialement,
Badr
1 réponse
-
Salut,
Cela vient probablement du fait que tu colle dans la feuille active mais la feuille active est "commission" With Worksheets("Commissions").Select-
-
Pour moi le ".select" et le ".activate" donne tout les deux le Focus à un objet.
Donc essai de mettre ça :
With Worksheets("Commissions").Select
fin = Cells(65536, 7).End(xlUp).Row
For x1 = 2 To fin
If dated < Cells(x1, 7).Value < datef Then
Cells(x1, 7).EntireRow.Copy
NumLig = NumLig + 1
Cells(NumLig, 1).Select
Worksheets("feuil1").Activate
ActiveSheet.Paste
End If
Next
End With
Si j'ai bien compris ce que tu veux faire ça devrait fonctionner. -
-