Correction macro copier/coller
Résolu
Utilisateur anonyme
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'utilise Excel 2003, la macro suivante devrait me permettre de copier/coller certaines lignes en fonctions de deux conditions, mais je ne sais pas pourquoi ça ne marche pas.
Auriez-vous une idée de la modification que je dois apporter.
Merci d'avance
Laure
Sub Macro7()
Dim L As Integer
Dim i As Integer
Dim j As Integer
For L = 1 To 100 Step 1
j = Feuil2.Range("I6").Value
i = 2 + j
If Feuil7.Range("A" & L).Value = Feuil2.Range("M2").Value _
And Feuil7.Range("E" & L) = Feuil2.Range("N2").Value Then
Feuil7.Cells(L, 1).EntireRow.Copy
Feuil11.Range("A" & i).PasteSpecial Paste:=xlPasteValues
End If
Next L
End Sub
J'utilise Excel 2003, la macro suivante devrait me permettre de copier/coller certaines lignes en fonctions de deux conditions, mais je ne sais pas pourquoi ça ne marche pas.
Auriez-vous une idée de la modification que je dois apporter.
Merci d'avance
Laure
Sub Macro7()
Dim L As Integer
Dim i As Integer
Dim j As Integer
For L = 1 To 100 Step 1
j = Feuil2.Range("I6").Value
i = 2 + j
If Feuil7.Range("A" & L).Value = Feuil2.Range("M2").Value _
And Feuil7.Range("E" & L) = Feuil2.Range("N2").Value Then
Feuil7.Cells(L, 1).EntireRow.Copy
Feuil11.Range("A" & i).PasteSpecial Paste:=xlPasteValues
End If
Next L
End Sub
3 réponses
-
Bonjour
Pour désigner une feuille:
Sheets("feuil2").range(.....
et non
feuil2.range(... -
Bonjour,
Feuil2.range est une écriture correcte.
sinon j'ai modifié en Sheets("feuil2") pour tester, aucun changement.
ça ne me colle qu'une seule ligne comme avant. -
Bonsoir,
Michel, "Feuil2.Range(......" peut tout à fait être une écriture correcte pour peu que Feuil2 soit le codename de sheets("Feuil2")
Donc ne prend pas ombrage....
@ Laure, tu détermines la première valeur de "i", mais tu oublies de l'incrémenter ensuite....
Et surtout, détermines tes valeurs i et j en dehors de la boucle, sinon ils vont reprendre la même valeur à chaque boucle....
j = Feuil2.Range("I6").Value i = 2 + j For L = 1 To 100 Step 1 If Feuil7.Range("A" & L).Value = Feuil2.Range("M2").Value _ And Feuil7.Range("E" & L) = Feuil2.Range("N2").Value Then Feuil7.Cells(L, 1).EntireRow.Copy Feuil11.Range("A" & i).PasteSpecial Paste:=xlPasteValues i = i + 1 End If Next L
Bon courage