Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Autres Logiciels > OpenOffice

OpenOffice Forum d'entraide sur OpenOffice.org. Avant de poster : La F.A.Q OpenOffice

Réponse
 
Outils de la discussion
Vieux 23/06/2008, 15h42   #1 (permalink)
Invité de passage
 
Date d'inscription: juin 2008
Messages: 1
Par défaut Macro insertion de ligne et copier coller calc

Bonjour à tous,

Je viens de me rendre compte qu'il n'y a pas d'option relative ou absolue lors de l'enregistrement de macro sur OOo... Et par défaut d'après mes test l'enregistrement se fait en mode Absolue (ne tient pas compte de la cellule sélectionnée au moment de l'exécution si j'ai bien compris).

C'est problématique car j'aimerai créer une macro qui rajoute une ligne (à partir de la cellule sélectionné lors de l'exécution donc au dessus) et qui ensuite fait un copier-glissé de la 1ere, la 3eme et la 4eme cellules à droite au dessus vers la ligne qui vient d'être créée.

Par exemple je suis en C2, j'exécute la macro en question, ainsi un nouvelle ligne 2 est créée et D1 est copié glissé vers D2, F1 vers F2 et G1 vers G2.

Un peu difficile à expliquer mais très simple dans les fait. Je n'ai aucune idée de comment faire sur OOo.

Quelqu'un a-t-il une idée?

Merci d'avance.

Adam.
Adamantium est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/07/2008, 15h20   #2 (permalink)
Invité de passage
 
Date d'inscription: juillet 2008
Messages: 6
Par défaut Obtenir n° ligne sélectionnée

Bonjour Adamantium,
voici un petit bout de code qui te permet de récupérer le n° de la ligne sélectionnée et d'insérer 2 lignes avant :

Code :
Dim lesFeuilles, feuille, selection, mesLignes As Object
	Dim numLigneSelect  As Integer
	Dim strNumLigneSelect As String
	
	lesFeuilles = ThisComponent.Sheets	
	feuille = lesFeuilles.getByName("nomOnglet")

	'Récupérer la ligne sélectionnée
	selection = thisComponent.currentSelection
	if (selection.supportsService("com.sun.star.table.Cell")) then
		'1 seule cellule sélectionnnée
		MsgBox("Aucune ligne sélectionnée", 48, "titre")
		Exit Sub
	end if
	'Ici on sait que selection pointe sur une ligne sélectionnée

	'les N° de ligne commencent à 0 
	'=> on ajoute 1 pour avoir le n° affiché à gauche de la ligne
	numLigneSelect = selection.RangeAddress.StartRow + 1 
	strNumLigneSelect = trim(Str(numLigneSelect))

	'on insère deux lignes vides avant la ligne sélectionnée
	mesLignes = feuille.getCellRangeByName("A" + strNumLigneSelect + ":" + "A" + strNumLigneSelect).Rows
	mesLignes.insertByIndex(0,2)
	'Ici, deux lignes ont été inséréee avant la ligne sélectionnée

Dernière modification par Philippe JOCHMANS ; 11/07/2008 à 18h00 Motif: Ajout des balises codes (sélection du code + #), ce n'est pas facultatif
lucquiluc est déconnecté   Envoyer un message privé Réponse avec citation
NEWS WINDOWSF.A.Qs WINDOWSTUTORIELS WINDOWSLIVRES WINDOWS

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Autres Logiciels > OpenOffice



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide


Fuseau horaire GMT +1. Il est actuellement 21h19.


Publiez vos articles, tutoriels et cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter
Copyright 2000-2008 www.developpez.com - Legal informations