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