Page 1 sur 1

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

MessagePublié: 04 Août 2008 11:38
par Dude
Petit cas d'école avec du texte réparti sur plusieurs cellules
vue1.PNG
vue1.PNG (2.64 Kio) Consulté 9943 fois

Et le résultat voulu
vue2.PNG
vue2.PNG (2.06 Kio) Consulté 9942 fois

La macro utilisée
Code : Tout sélectionner   AgrandirRéduire
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.93 Kio) Téléchargé 1790 fois


8)

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

MessagePublié: 26 Avr 2021 10: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

MessagePublié: 26 Avr 2021 13: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.