Bonjour,
Voilà du code.
Il y a plus simple, plus compacte et plus rapide, Mais c'est surtout un
copier-coller d'un extrait de cours, ça allait plus vite pour moi .
NB : s'il y a des formules, elles ne seront pas copiées
La procédure à lancer est "Boulot". La copie se fait sur une feuille
nommée "RECAP".
Il faut copier de "Option explicit ..."
jusque
"Next f
End Sub"
/Option Explicit ' rendre obligatoire la déclaration des variables avant
leur utilisation//
//
//dim cTXT as long, cVIDE as long, cNUM as long , cFORMULE as long '
constante de type de contenu de cellule//
//Dim doc As Object, fRep As Object ' variable pour récupérer le
document en cours et la feuille de travail//
//
//Sub Init 'Initialisations (!)//
// ' Initialiser les constantes de type//
// cTXT=com.sun.star.table.CellContentType.TEXT//
// cVIDE=com.sun.star.table.CellContentType.EMPTY//
// cNUM=com.sun.star.table.CellContentType.VALUE//
// cFORMULE=com.sun.star.table.CellContentType.FORMULA//
// ' éléments de base : le classeur et la feuille RECAP//
// doc=thisComponent//
// fRep=doc.sheets.getByName("RECAP")//
//End Sub//
//
//sub Boulot//
//Dim f as Object, Lg as Long, Col as Long, Cel as Object ' feuille,
ligne et colonne et cellule en cours des feuilles à transposer//
//Dim LgRecap as Long, ColRecap as Long ' ligne et colonne dans la
feuille Recap//
//
//Init ' appel de la procédure d'initialisation//
//LgRecap = 0 ' -> ça laissera une 1ere ligne vide pour des titres
éventuels. Sinon mettre à -1//
//
//for each f in doc.Sheets ' parcourir toutes les feuille du classeur//
// if f.name<>"RECAP" then ' Eviter de recopier la feuille RECAP sur
Elle-meme !!//
// Lg=0 ' Ligne 1//
// Col=0 ' colonne A//
////
// LgRecap = LgRecap + 1//
// ColRecap = 0//
// Cel=f.getCellByPosition(Col,Lg)//
// while cel.Type<> cVide//
// select case cel.Type//
// case cTXT://
// fRep.getCellByPosition(ColRecap,
LgRecap).String=cel.String//
// case cNUM://
// fRep.getCellByPosition(ColRecap,
LgRecap).Value=cel.Value //
// End Select//
// ColRecap = ColRecap + 1//
// Lg=Lg+1//
// Cel=f.getCellByPosition(Col,Lg)//
// wend//
// End If//
//Next f//
//End Sub/
Bon courage
Christian F
Le 01/12/2018 à 13:48, demande_aide_fr@libreoffice.org a écrit :
Bonjour
Voici une nouvelle question envoyée à l'aide du formulaire de demande d'aide
(http://fr.libreoffice.org/get-help/poser-une-question/).
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de
courrier électronique de façon que le demandeur reçoive une copie de votre réponse.
Email:: nospam@invalid.fr
Sujet:: fusionner plusieurs feuilles calc en une seule (recap)
OS:: Windows 8 ou 8.1
Version:: 5.3.x
Question:: Bonjour,
j'ai +2000 feuilles libre office calc, avec des données dans la colonne A,
je souhaite récupérer toutes ces colonnes en les mettant sur une feuille RECAP,
mais en les transposant (Les colonnes deviennent des lignes).
comment faire?
Une marcro? Quel est le code svp? Merci
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.