[Résolu][Calc] Insérer de nombreux interlignes dans feuille

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
martinbrait
InconditiOOnnel
InconditiOOnnel
Messages : 753
Inscription : 09 avr. 2013 07:15
Localisation : T'as pas dit bonjour, merci et à bientot !

[Résolu][Calc] Insérer de nombreux interlignes dans feuille

Message par martinbrait »

Bonjour,
sauter_une_ligne.JPG
Il est bien pratique de pouvoir ajouter rapidement des interlignes dans sa feuille de classeur,
sans avoir à répéter de multiples manipulations.

Ainsi, une petite routine vous permettra agréablement (j'espère), d'exécuter des séries d'interlignes,
avec le pas de son choix sur la feuille courante du classeur courant.

'===================
'Auteur martinbrait
'Insérer un interligne, dans la page active
'de la feuille courante
'paramètres :
'RowMin pour préciser, si on veut la ligne plancher
'RowMax pour préciser, si on veut la ligne plafond
'Pas, pour préciser le nombre de ligne que l'on veut "sauter"
'entre chaque ligne pleine.
'ATTENTION : En pratique, et par prudence pour ne pas planter
'libre office ne jamais tenter plus de 4000 insertions sans enregistrement tampon
'dans un même temps pour éviter le dépassement de capacité du thread.
'====================


Code : Tout sélectionner


Sub TestInsererInterligne()
 InsererDesINterLignes(3,3000,2)
End Sub

'==========================
Sub InsererDesInterlignes(Optional RowMin As Integer, Optional RowMax As Integer,Optional Pas As Integer)

Dim Doc As Object
Dim oSheet As Object
Dim RowIndex as Integer
Dim NbRows As Variant

If IsMissing(RowMin) Then
	RowMin = 1
End If

If IsMissing(RowMax) Then
	RowMax = 3000
End If

If IsMissing(Pas) Then
	Pas = 2
End If

    oDoc = ThisComponent
	oSheet = oDoc.Sheets.getByName(ThisComponent.CurrentController.ActiveSheet.Name)'Pour en extraire une variable objet

	
   	For RowIndex = RowMin To RowMax Step Pas
       'insert a row:
   	oSheet.Rows.insertByIndex(RowIndex,1)
	Next
NbRows = CInt((RowMax-RowMin)/2)	
MsgBox(NbRows & " lignes ont bien été insérées",48,"INSERTIONS REUSSIES")

End Sub



Merci et à bientôt !
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par martinbrait le 14 juin 2017 12:59, modifié 1 fois.
LibreOffice version 5.4.7.2.M6 (x64)
Windows 10
+
LibreOffice version 5.4.7.2.M6 (x64)
Windows 7

#HSQL Database Engine 1.8.0
version=1.8.0

Locale : fr-FR (fr_FR)

Obligation de version


Bonjour, merci et à bientôt !
Avatar de l’utilisateur
Grenouille
ManitOOu
ManitOOu
Messages : 3223
Inscription : 13 janv. 2006 16:21
Localisation : Chasseneuil-du-Poitou / Futuroscope

Re: [Résolu][Calc] Insérer de nombreux interlignes dans feui

Message par Grenouille »

Bonjour,

Je ne vois pas l'utilité d'une macro pour l'insertion de lignes (ou de colonnes).
Il suffit de sélectionner le nombre à insérer :
capture.png
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.5 et LibreOffice 5.3.4 (par obligation) sous Windows 7
Avatar de l’utilisateur
martinbrait
InconditiOOnnel
InconditiOOnnel
Messages : 753
Inscription : 09 avr. 2013 07:15
Localisation : T'as pas dit bonjour, merci et à bientot !

Re: [Résolu][Calc] Insérer de nombreux interlignes dans feui

Message par martinbrait »

Bonjour Grenouille,


L'intérêt n'est pas d'ajouter le nombre de lignes de son choix.
La difficulté provient de pouvoir ajouter une ligne vide, entre
d'autres lignes pleines, et ceci de manière répétée.

Voilà, il s'agit de lignes vides intersticielles.

Cas d'utilisation :
intercaler des infomations nouvelles, entre les lignes.

@+
Dernière modification par martinbrait le 02 août 2017 19:14, modifié 1 fois.
LibreOffice version 5.4.7.2.M6 (x64)
Windows 10
+
LibreOffice version 5.4.7.2.M6 (x64)
Windows 7

#HSQL Database Engine 1.8.0
version=1.8.0

Locale : fr-FR (fr_FR)

Obligation de version


Bonjour, merci et à bientôt !
Avatar de l’utilisateur
Grenouille
ManitOOu
ManitOOu
Messages : 3223
Inscription : 13 janv. 2006 16:21
Localisation : Chasseneuil-du-Poitou / Futuroscope

Re: [Résolu][Calc] Insérer de nombreux interlignes dans feui

Message par Grenouille »

Re,
martinbrait a écrit :La difficulté provient de pouvoir ajouter une ligne vide, entre
d'autres lignes pleines, et ceci de manière répétée.
Je ne vois pas trop l'intérêt de faire ça dans un tableur.
Cela complique les formules dans les plages et peut fausser les résultats.
Si je veux "aérer" un tableau, j'agis plutôt sur la hauteur des lignes tout simplement.

Perso, je n'utiliserai donc pas ta macro.

A+
OpenOffice 4.1.5 et LibreOffice 5.3.4 (par obligation) sous Windows 7