Page 1 sur 1

[Calc] Fusion de texte réparti sur plusieurs cellules

Publié : 04 août 2008 10:38
par Dude
Petit cas d'école avec du texte réparti sur plusieurs cellules
vue1.PNG
Et le résultat voulu
vue2.PNG
La macro utilisée

Code : Tout sélectionner

Sub Fusion
	Dim oCell As Object 
	Dim oPlage As Object
	Dim oTexte As string
	Dim c1 As Integer, c2 as Integer
	Dim lig As Integer, col As Integer

	' Zone de fusion	
	lig = 5 ' lignes
	col = 8 ' colonnes
	
	' les index partent de zéro
	lig = lig - 1
	col = col - 1
	
	For c1 = 0 To lig
		oTexte = ""
		For c2 = 0 To col
			oCell = ThisComponent.Sheets(0).GetCellByPosition(c2, c1)
			oTexte = oTexte & oCell.string		
			oCell.string = ""
		Next c2
		oCell = ThisComponent.Sheets(0).GetCellByPosition(0, c1)
		oCell.string = oTexte
		oPlage = ThisComponent.Sheets(0).getCellRangeByPosition( 0, c1, col, c1)
		oPlage.Merge( True )
	Next c1
End Sub
Le classeur complet :
macro_fusion.ods
8)

Re: [Calc] Fusion de texte réparti sur plusieurs cellules

Publié : 26 avr. 2021 09:45
par Jf57580
Bonjour,
Merci pour cette macro.
Je débute et je suis en train de découper le code pour le comprendre.
Pouvez vous m'indiquez pourquoi à un moment donné vous indiqué oTexte = ""
A quoi servent ces deux guillemets. Je présume que c'est pour stocker les éléments copiés dans les cellules?
Merci

Re: [Calc] Fusion de texte réparti sur plusieurs cellules

Publié : 26 avr. 2021 12:01
par Dude
As-tu lu le bandeau rouge en haut de la page ? :roll:
Jf57580 a écrit :Pouvez vous m'indiquez pourquoi à un moment donné vous indiqué oTexte = ""
Fais le test en enlevant la ligne et regarde comment les données fusionnent dans la boucle.