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 -
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
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:
- Copier lignes Excel d'un fichier à un autre
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier bin - Guide
- Fichier rar - Guide
- Creer un fichier .bat - Guide
1 réponse
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
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