OpenOffice Calc Supprimer plusieures cellules contiguës

Patou134 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
Patou134 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,
Je voudrai supprimer plusieures cellules contiguës sur une même ligne comme le fait la commande contextuelle (Clic droit, supprimer) tout en déplaçant les cellules se trouvant à droite de la sélection vers la gauche.
Comme j'ai un très gros ficher à traiter je voudrai effectuer cette opération à l'aide d'une macro.
J'ai essayé de créer un code avec "Enregistrer une macro mais cela ne me convient pas car l'adressage de la sélection est sous la forme "A1:F1" alors que j'ai besoin qu'elle soit sous la forme "0,1:0,5" (je ne suis pas sur de la syntaxe).
Afin de l'inclure dans une procédure qui balayerai tout le fichier.
J'ai un début de code que voici:
Sub Deb
Dim DOC as object, Les_Feuilles as object,La_Feuille as object,Zone as object

   Doc = thisComponent
   Les_Feuilles = Doc.Sheets
   La_Feuille = Les_Feuilles.getByName("Feuille1")
   Zone = La_Feuille.getCellRangeByName("A1:F1")
   Doc.currentController.Select(Zone)
   
End Sub


Merci par avance de votre aide.
Configuration: Windows / Chrome 97.0.4692.99
A voir également:

2 réponses

yclik Messages postés 3872 Date d'inscription   Statut Membre Dernière intervention   1 561
 
0
Patou134 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir,
J'ai trouvé la réponse à mon problème.
Voici le code pour ceux que ça intéresse.
Sub SuppCell
Print "Debut"
Dim Doc As Object
Dim Sheet As Object
Dim CellRangeAddress As New com.sun.star.table.CellRangeAddress
Dim indlig,indcol, startcol as integer

'Doc = StarDesktop.CurrentComponent
Doc = thisComponent
Sheet = Doc.Sheets(0)
startcol = 0
indlig = 0
indcol = 0

For indlig = 0 to 6
indcol = indcol + 1
CellRangeAddress.Sheet = 0
CellRangeAddress.StartColumn = startcol
CellRangeAddress.StartRow = indlig
CellRangeAddress.EndColumn = indcol
CellRangeAddress.EndRow = indlig
' print startcol & " " & indlig & " " & indcol & " " & indlig
Sheet.removeRange(CellRangeAddress, com.sun.star.sheet.CellDeleteMode.LEFT)
Next indlig

Print "Fin"
End Sub
0