[Calc] Déplacer une colonne

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Avatar de l’utilisateur
Benzouye
Membre lOOyal
Membre lOOyal
Messages : 29
Inscription : 28 févr. 2009 10:13

[Calc] Déplacer une colonne

Message par Benzouye »

Bonjour,

Dans calc, on peut graphiquement déplacer une colonne en la sélectionnant puis en faisant un Alt+Clic.
Je cherche à reproduire cela dans une macro le plus simplement possible ... l'objet Columns ne semble proposer que les méthodes insert et remove ... mais pas move ...

Y-a-t-il une solution pour m'éviter le insérer-copier-coller-supprimer ?

D'avance merci.
OpenOffice 4.1.0 (obligation de version)
Win7 64 bits
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: [Calc] Déplacer une colonne

Message par OOotremer971 »

Bonjour,
Regarde du coté de moveRange la syntaxe est la même que copieRange

Il te faut les objets suivants : une plage à déplacer, une cellule d'arrivée, une feuille destination

Code : Tout sélectionner

feuilleDestination.moveRange(celluleArrivee.CellAddress, plageAdeplacer.RangeAddress)

A+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Avatar de l’utilisateur
Benzouye
Membre lOOyal
Membre lOOyal
Messages : 29
Inscription : 28 févr. 2009 10:13

Re: [Calc] Déplacer une colonne

Message par Benzouye »

Merci pour la réponse.

Je connaissais copyRange et moveRange, mais du coup on reste sur une logique :
1- insérer une colonne de destination
2 - déplacer le contenu de ma colonne source dans la colonne destination
3 - supprimer la colonne source

Je recherchais plus une solution "directe" ... mais peut-être que le glisser/déplacer (Alt+clic) n'est pas traduit directement et se déroule comme ça ... dommage ...
Comme si l'on pouvait changer les index des colonnes dans l'objet Sheet.Columns, genre une méthode move( a, b ) où a et b sont les index de colonne source et destination ...
OpenOffice 4.1.0 (obligation de version)
Win7 64 bits