1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| Sub test1()
Dim a, i, j, k As Integer
a = WorksheetFunction.CountA(Sheets("Raw").Range("A:A"))
'Compte les lignes pour limiter le nombre de boucles
For i = 1 To a
If InStr(1, Sheets("Raw").Cells(i, 1), ",") <> 0 Then
'Je recherche les lignes, dans la colonne A, dans lesquelles
il y a une virgule parce que cela subdivise mes données par personne
(le nom est séparé du prénom par une virgule)
For j = 1 To 25
'je met une deuxième boucle dans la première qui recherche
la seconde virgule pour déterminer le Range des données de chaque personne
(qui sont variables)
If InStr(Sheets("Raw").Cells(i + j, 1), 1, ",") <> 0 Or IsEmpty(Sheets("Raw").Cells(i + j, 1)) = True Then
'Du coup j'essaie de copier les données dans une nouvelles feuille
en les espaçant. Du coup, je pourrais faire toutes mes formules dans cette nouvelle
feuille sans utiliser VBA.
Sheets("Raw").Range(Cells(i, 1), Cells(i + j - 1, 20)).Copy Destination:=Sheets("Sheet2").Range(Cells(k * 50 + 2, 1), Cells(k * 50 + 1 + j, 21))
'Mais ici j'ai une erreur de type mismatch.
k = k + 1
Exit For
End If
Next j
End If
Next i
End Sub |
Partager