Bonjour,
Je reprends VBA après de longues années et je repars plus ou moins de 0.
J'aimerais copier le contenu d'une cellule située en colonne A (référence relative) vers le bas dans les cellules vides uniquement si et seulement si le contenu des cellules situées sur les mêmes lignes en colonne B sont non vides. Et je voudrais que cela se répète pour toute la colonne (longueur variable).
Pour plus de clarté, j'ai joint un fichier : je veux copier le contenu de A1 en A2, A3,A4 et A5, puis celui de A6 en A7, A8, A9 et A10, puis celui de A11 en A12, etc.
J'ai écris la macro suivante qui fait bien la copie de la cellule du dessus, mais ne le fait que pour une ligne et s'arrête :
Sub CopyDownCellContent()
'
Dim Cell As Range
For Each Cell In Selection.Cells
If Cell.Value <> "" Then
ActiveCell.Offset(0, -1).Range("a1").Select
Selection.FillDown
End If
Next Cell
End Sub
Merci pour vos conseils !
PS: j'utilise Excel 2003 en anglais...
Je reprends VBA après de longues années et je repars plus ou moins de 0.
J'aimerais copier le contenu d'une cellule située en colonne A (référence relative) vers le bas dans les cellules vides uniquement si et seulement si le contenu des cellules situées sur les mêmes lignes en colonne B sont non vides. Et je voudrais que cela se répète pour toute la colonne (longueur variable).
Pour plus de clarté, j'ai joint un fichier : je veux copier le contenu de A1 en A2, A3,A4 et A5, puis celui de A6 en A7, A8, A9 et A10, puis celui de A11 en A12, etc.
J'ai écris la macro suivante qui fait bien la copie de la cellule du dessus, mais ne le fait que pour une ligne et s'arrête :
Sub CopyDownCellContent()
'
Dim Cell As Range
For Each Cell In Selection.Cells
If Cell.Value <> "" Then
ActiveCell.Offset(0, -1).Range("a1").Select
Selection.FillDown
End If
Next Cell
End Sub
Merci pour vos conseils !
PS: j'utilise Excel 2003 en anglais...