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
Configuration: Windows XP Internet Explorer 6.0

1 réponse

  1. 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