Bonjour,
je dois travailler sur un tableau avec différentes colonnes et copier certains bloc sur une autre feuille. Je suis plutot débutant et je n'arrive pas à écrire une macro qui fonctionne.
But de la macro:
Dans la quatrième colonne on a pour certains site une date de validation. Je veux alors garder les blocs des sites qui ne sont pas validés (cellule vide à la place d'une date), dans ce cas je veux copier la ligne et les suivantes jusqu'à ce que la prochaine ligne est une case avec une date dans la colonne 4 (site validé). J'ai essayé de faire la macro suivante mais je ne sais même pas si elle marche car j'ai une erreur de compilation Next sans for (alors qu'il y a un For plus haut???)
Sub Macro12()
Worksheets("feuille1").Select
j = 4
For i = 3 To i = 5000
If Cells(i, 7) = empty Then
Do until Cells(j, 7) > 36000 'seul truc que j'ai trouvé pour faire une condition de trouver une date
j = j + 1
Worksheets(1).Range("A" & i & ":K" & (j - 1)).Copy
Worksheets(2).Range("A" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone
Next
j = i + 1
End Sub
Merci d'avance pour votre aide
je dois travailler sur un tableau avec différentes colonnes et copier certains bloc sur une autre feuille. Je suis plutot débutant et je n'arrive pas à écrire une macro qui fonctionne.
But de la macro:
Dans la quatrième colonne on a pour certains site une date de validation. Je veux alors garder les blocs des sites qui ne sont pas validés (cellule vide à la place d'une date), dans ce cas je veux copier la ligne et les suivantes jusqu'à ce que la prochaine ligne est une case avec une date dans la colonne 4 (site validé). J'ai essayé de faire la macro suivante mais je ne sais même pas si elle marche car j'ai une erreur de compilation Next sans for (alors qu'il y a un For plus haut???)
Sub Macro12()
Worksheets("feuille1").Select
j = 4
For i = 3 To i = 5000
If Cells(i, 7) = empty Then
Do until Cells(j, 7) > 36000 'seul truc que j'ai trouvé pour faire une condition de trouver une date
j = j + 1
Worksheets(1).Range("A" & i & ":K" & (j - 1)).Copy
Worksheets(2).Range("A" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone
Next
j = i + 1
End Sub
Merci d'avance pour votre aide