Je travaille actuellement sur un projet où je dois copier une plage ciblée dans un classeur et la coller dans un autre classeur en omettant toutes les cellules vides (dont il y en a beaucoup). Jusqu'à présent, j'ai réussi à les coller ensemble les uns à côté des autres, mais je n'ai pas réussi à les structurer de manière appropriée.Suppression des cellules vides et structuration des données lors de la copie VBA
For Each c In rngSourceRange.SpecialCells(xlCellTypeVisible)
If Len(c) <> 0 Then
rngDestination = c.Value
Set rngDestination = rngDestination.Offset(0, 1)
End If
Next c
Application.CutCopyMode = False
Le format doit être tel quel. Les 19 premières cellules doivent être alignées les unes à côté des autres. Ensuite, il faut descendre d'une rangée pour revenir à la première colonne et répertorier les 19 prochaines entrées, et ainsi de suite jusqu'à ce que je sois complètement hors de mes cellules. Maintenant, j'ai essayé d'inclure une autre boucle, mais cela a produit un résultat très inutile.
For Each c In rngSourceRange.SpecialCells(xlCellTypeVisible)
If Len(c) <> 0 Then
For lcol = 1 To 19
wkbCrntWorkBook.Sheets("Tabelle1").Cells(lrow, lcol).Value = c.Value
lrow = lrow + 1
Next lcol
End If
Next c
Application.CutCopyMode = False
Aidez-moi à structurer cet ensemble de données correctement. Je peux montrer le reste de mon code si cela peut aider.