Merci beaucoup pour cette info, ça me donne déjà une piste de recherche.
il s'agit d'openoffice calc.
Je ne sais pas si j'ai bien tout compris, mais j'ai essayé ceci :
- j'ai débuté l'enregistrement d'une macro.
- je suis allé dans une cellule et j'ai sélectionné la dernière valeur.
- j'ai stoppé l'enregistrement.
En faisant cela, je suis partie du principe qu'openoffice me générerait un début de code utilisable. je n'ai plus qu'à insérer une ligne de comparaison de valeur par rapport à cette mémoire de valeur et puis, si c'est inférieur à 37, je supprime la cellule. je fais une boucle pour que tous ça soit répété sur chacune des cellules.
voici le code que cela m'a donné :
sub XX
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$A$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
end sub
donc là, j'ai rajouté la ligne suivante :
if [args2(0).Value = 20]then [dispatcher.executeDispatch(document, ".uno:Delete", "", 0, args2())]
Sauf que ça ne marche pas.
pourrais-tu me dire se qui cloche ?
merci beaucoup