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

Vos meilleures macros et portions de code sont publiées dans cette section.
Aucun support sur une question de programmation ici !

Modérateur: Vilains modOOs

Règles du forum
Aucune question dans cette section !
Celle-ci rassemble les meilleures macros et portions de code. Vous pouvez en revanche commenter ou argumenter le code exposé. Vous pouvez même remercier l'auteur (cela fait toujours plaisir) en indiquant par exemple dans quel cadre ou contexte vous en avez eu l'utilité.
Si vous avez à poster quelque chose, faites-le depuis la section Macros et API et demandez à un modérateur de l'y déplacer.

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

Messagepar Dude » 04 Août 2008 11:38

Petit cas d'école avec du texte réparti sur plusieurs cellules
vue1.PNG
vue1.PNG (2.64 Kio) Consulté 9940 fois

Et le résultat voulu
vue2.PNG
vue2.PNG (2.06 Kio) Consulté 9939 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é 1788 fois


8)
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 22629
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

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

Messagepar Jf57580 » 26 Avr 2021 10:45

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
LibreOffice 7.1.2.2 sous Windows 10
Jf57580
Fraîchement OOthentifié
 
Message(s) : 1
Inscrit le : 26 Avr 2021 10:41

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

Messagepar Dude » 26 Avr 2021 13:01

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.
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 22629
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1


Retour vers Suprême de code

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 0 invité(s)

cron