C'est Open Office Basic
Et voila le code
Sub PysRazLignes
'Ci-dessous attention les numéros de ligne et colonne commencent à zéro
const PysLigDeb = 1 'Adapter en fonction du nombre de lignes
const PysLigFin = 24 'Adapter en fonction du nombre de lignes
dim PysClasseur as object, PysFeuille as object, PysPlage as object
dim PysLigEnCours as long
dim debutColonne as Variant
dim i as integer
dim nombre_ligne as integer
'nombre de la colonne debute à 0 (donc ex : 5 donne la colonne F)
debutColonne = Array(1,5,9)
'numero de ligne entre les 2 tableaux
nombre_ligne = 12
' Accès au document courant
PysClasseur = thiscomponent
'Dans ce classeur accès par son nom à une feuille
PysFeuille = PysClasseur.sheets.getByName("Feuil1")
for i = 0 to 2 step 1
'Boucle depuis la dernière ligne à traiter jusqu'à la première
for PysLigEnCours = PysLigFin to PysLigDeb step - 1
PysCell = PysFeuille.getCellByPosition(debutColonne(i), PysLigEnCours) 'Accès à la cellule
PysCell_plus_1 = PysFeuille.getCellByPosition((debutColonne(i)+1), PysLigEnCours) 'Accès à la cellule+1
PysCell_plus_2 = PysFeuille.getCellByPosition((debutColonne(i)-1), PysLigEnCours) 'Accès à la cellule-1
if IsNumeric(PysCell.STRING) = True THEN
if PysFeuille.getCellByPosition(debutColonne(i), PysLigEnCours).value = 0 THEN
PysFeuille.removeRange(PysCell.RangeAddress, com.sun.star.sheet.CellDeleteMode.UP)
PysFeuille.removeRange(PysCell_plus_1.RangeAddress, com.sun.star.sheet.CellDeleteMode.UP)
PysFeuille.removeRange(PysCell_plus_2.RangeAddress, com.sun.star.sheet.CellDeleteMode.UP)
'inserer une ligne vide
PysCell = PysFeuille.getCellByPosition(debutColonne(i), nombre_ligne)
end if
end if
next PysLigEnCours
next i
End Sub