Oui, tout est possible quasiment et ce n'est pas la chose la plus compliquée à mettre en place. Vous devriez poser des questions sur le forum Calc, vous pourriez apprendre pas mal de choses.
D'ailleurs, j'imagine qu'il y a un enregistreur de macro sur Calc également, vous pourriez vous familiariser avec le langage et éventuellement créer petit à petit vos propres macros.
Pour le fun, je fais quand même un petit essai, mais sans espoir...
Aucune idée de la nécessité de déclarer des variables ou non, notamment les objets et les tableaux... J'imagine que la fonction split existe mais peut-être que la syntaxe change un peu et j'utilise des propriétés et méthodes dont je n'ai aucune certitude qu'elles existent, du moins sous cette forme :
Sub Rajouter()
With activedocument.getactivesheet
dl = .getCellbyposition(.getlastrow, 1).End(xlUp).getRow
codes = .getRange("A2:D" & dl) '.getvalue
For i = LBound(codes) To UBound(codes)
If codes(i, UBound(codes, 2)) <> "" Then
decompose = Split(codes(i, 1), ":")
decompose(UBound(decompose)) = codes(i, UBound(codes, 2))
codes(i, 1) = Join(decompose, ":")
End If
Next i
.getRange("A2").Resize(UBound(codes), 1).setvalue = codes 'ou sans le .setvalue
End With
End Sub
Cdlt,