Merci François,
Je ne comprend pas tout encore, mais je vois le sens général...
Est-ce que l'on peut passer le n° de colonne en argument depuis le
programme ?
Car en haut de chaque colonne il y a de toute façon un bouton.
Peut-on faire qu'un bouton appelle par exemple /ViderColonne(n)/
En attribuant une macro au bouton on ne peut éditer la ligne pour passer
l'argument,
mais seulement sélectionner la macro...
Bonne soirée
François
Francois Gatto a écrit :
Bonsoir,
François Vermel a écrit :
Bonjour,
Je ne connais pas la programmation OOo, alors j'ai utilisé
l'enregistreur de macro pour effacer d'un coup une colonne.
Mais j'ai 30 colonnes qu'il faut pouvoir effacer individuellement,
j'ai donc recopié la macro 30 fois en changeant la lettre dans la
référence des cellules. Cela marche aussi mais je me demande si on
peut pas simplifier et n'avoir qu'une macro à qui le bouton
correspondant va envoyer la lettre de la colonne à effacer...
Je ne sais pas si je m'explique bien ?
Pour ceux que cela intéresse je met ci- dessous la macro en question
et à quoi sert la feuille calc.
Merci de votre aide....
François
------------------------------------------------------------------------
Le but du document calc est de faire les commandes pour un groupement
d'achat associatif.
Sur chaque ligne un produit et deux colonnes par adhérents :
- une où l'on indique la quantité commandée,
- la seconde calcule le prix
La question est de pouvoir effacer d'un clic la colonne quantité
(ligne 6 à 149)
La macro générée par OOo est la suivante :
sub EffaceColonneO
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 = "$O$6:$O$149"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem
----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0,
Array())
rem
----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$O$6"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
end sub
voici une idée :
sub Main
dim oDoc as object
dim oSheet as object
dim oCurCell as object
dim iCol as integer
'Le document
oDoc = thisComponent
'la cellule active
oCurCell = oDoc.CurrentController.Selection.CellAddress
'on recupere l'indice de colonne et de la feuille
with oCurCell
iCol = .Column
iSheet = .Sheet
end with
'on indique quelle feuille est a traiter
oSheet = oDoc.getSheets().getByIndex( iSheet )
'et on supprime la colonne active dans la feuille
oColumns = oSheet.getColumns()
end sub
Francois Gatto
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]