La section tableur regorge de questions du type : comment faire pour écrire X ou Y en A1 si je mets ceci cela en B1. Bien entendu, vous connaissez la réponse

Suite à ce fil : https://forum.openoffice.org/fr/forum/v ... =8&t=46016 je me suis amusé à faire des expériences (que je voulais plus élaborées) dont voici le fruit :
Une petite fonction que l'on appelle directement à partir d'une cellule comme toutes les fonctions Calc. Elle permet d'écrire un texte, une formule , une valeur, une formule calculée dans une cellule distante.
Elle permet aussi d'effacer à distance le contenu d'une cellule, directement ou sous condition, sans qu'il n'existe de lien entre les deux cellules. C'est un peu comme si on pouvait piloter à distance un tableau indépendant.
En A1 par exemple
Code : Tout sélectionner
=ECRIRDANS("G1";70)
Code : Tout sélectionner
SI(D1=6;ECRIRDANS("B2";"OK");ECRIRDANS("C27";"A voir"))
Ajout : Pour effacer du contenu, il faut saisir une espace entre les deux doubles quottes
Code : Tout sélectionner
|
J'ai constaté aussi qu'elle permet d'interdire l'effacement du contenu d'une cellule, que ce soit par la touche Del, la flèche gauche ou la touche entrée.
Il faut deux formules pour le faire :
en A1 :
Code : Tout sélectionner
=SI(ESTVIDE(D1);1;"")
Code : Tout sélectionner
=SI(A1=1;ECRIRDANS("D1";50)
Code : Tout sélectionner
Function ECRIRDANS(arg1 As string, arg2 As variant) As string
If IsNumeric(arg2) then
ThisComponent.CurrentController.ActiveSheet.getCellRangeByName(arg1).Value = arg2
Else
ThisComponent.CurrentController.ActiveSheet.getCellRangeByName(arg1).String = arg2
End If
end Function