1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
Sub CopierColler
''''''' Variables
''''''' Ouverture d'un fichier
Dim oDesktop As Object , oDoc As Object , oText As Object , oCursor, oTable As Object
Dim Fichier As String , Resultat As String, Wb As Object
Dim Args() , Opt()
''''''' Sélection de la plage
Dim Feuille,Feuille2 As Object, PlageCellules As Object
Dim Plages As Object, oEnum As Object, Cellule, Cellule1 As Object
Dim NumLigne,NumColonne As Integer , NimColonne, X, Y As Integer
Dim Lignes, oCurseur As Object
dim CelluleCopie as object
'Définit une feuille nommée "Feuille2" dans le classeur
Feuille = CurrentComponent'.Sheets.getByName("Feuille2") 'C'est ici que la feuille 2 n'est pas considérée
CelluleActive = ThisComponent.getCurrentSelection
'Définit la plage de cellules
Colonne = ThisComponent.Sheets("Feuille2").rows(CelluleActive.CellAddress.Row)
Plages = ThisComponent.createInstance("com.sun.star.sheet.SheetCellRanges")
Plages.insertByName("", Colonne)
oEnum = Plages.Cells.CreateEnumeration
'''''''a. Bouclage des Cellules de la plage (les vides ne sont pas prises en compte)
'Boucle sur la plage de cellules à copier
oCurseur = ThisComponent.Sheets(0).createCursor
oCurseur.gotoEndOfUsedArea( False )
While oEnum.hasMoreElements
'Nota:
'Ne renvoie rien si la cellule est vide
Cellule = oEnum.NextElement
Resultat = Resultat & Cellule.String & Chr(10)
Y = Y +1
Feuille2 = ThisComponent.Sheets.getByName("Feuille1")
CelluleCopie = Feuille.getCellByPosition(Y-,oCurseur.RangeAddress.EndRow +1 )
CelluleCopie.String = Cellule.String
Wend |
Partager