Copier lignes Excel d'un fichier à un autre

aziza_oud Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
aziza_oud Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'essaie de faire un programme pour copier des lignes d'un fichier à un autre mais je pense qu'il ya qq chose qui marche pas dans mon code. j,essaie de faire une boucle à l'intérieur d'une autre, mais je pense qu'il ya des choses qui manquent. En fait j'essaie de dire à VBA tu me compare 2 céellules dans 2 fichiers et si tu trouve la même chose, copie la ligne ou se trouve la cellule que tu as comparé ainsi que les 28 lignes suivantes dans partial report et tu les colle exactement dans leurs places dans le rapport existant.

Merci pour votre aide et voici le code.

Workbooks.Open Filename:="C:\Data\Axis Runs\EEV AXIS Report Annual CF Partial.xls"
Cells.Select

Dim nbre_lignes, i, k, plage1, plage2



For k = 2 To 4000 Step 29

For i = 2 To 4000 Step 29

plage1 = i + 28
plage2 = k + 28


If ActiveSheet.Cells(k, 6) = ThisWorkbook.Worksheets("EEV AXIS Report Annual CF C").Cells(i, 6) Then
ActiveSheet.Rows(k & ":" & plage2).Select
Selection.Copy
ThisWorkbook.Worksheets("EEV AXIS Report Annual CF C").Cells(i, 1).Select
ActiveCell.Paste
End If


Next i

Next k

End Sub

J'ai le bug dans cette étape

ThisWorkbook.Worksheets("EEV AXIS Report Annual CF C").Cells(i, 1).Select

ActiveCell.Paste
A voir également:

1 réponse

aziza_oud Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai fait qq modifications à mon programme et maintenant j'ai 2 autres questions :

Workbooks.Open Filename:="C:\Data\Axis Runs\EEV AXIS Report Annual CF Partial.xls"
Cells.Select

Dim nbre_lignes, i, k, plage1, plage2



For k = 2 To 4000 Step 29

For i = 2 To 4000 Step 29

plage1 = i + 28
plage2 = k + 28


If ActiveSheet.Cells(k, 6) = Workbooks("Rapport complet avec Macro.xls").Worksheets("EEV AXIS Report Annual CF C").Cells(i, 6) Then
ActiveSheet.Rows(k & ":" & plage2).Select
Selection.Copy
Workbooks("Rapport complet avec Macro.xls").Worksheets("EEV AXIS Report Annual CF C").Activate
Cells(i, 1).Select
ActiveSheet.Paste

End If


Next i

Next k

Voici mes 2 questions :

1 ) Dans une boucle For Next, comment pouvoir dire à VBA par exemple.

For I =2 to ' dernière ligne non vide

2 ) dans mon programme ci-haut,


For k = 2 To 4000 Step 29

For i = 2 To 4000 Step 29

plage1 = i + 28
plage2 = k + 28


For k = 2 To 4000 Step 29

For i = 2 To 4000 Step 29

plage1 = i + 28
plage2 = k + 28


If ActiveSheet.Cells(k, 6) = Workbooks("Rapport complet avec Macro.xls").Worksheets("EEV AXIS Report Annual CF C").Cells(i, 6) Then
ActiveSheet.Rows(k & ":" & plage2).Select
Selection.Copy
Workbooks("Rapport complet avec Macro.xls").Worksheets("EEV AXIS Report Annual CF C").Activate
Cells(i, 1).Select
ActiveSheet.Paste

End If

' je veux lui dire dés que cette condition est rencontrée, tu fais plus next i, tu passe directement à Next K



Next i

Next k
0