Comment transposer du code vb dans calc

Bonjour,
Comment puis je réécrire le code suivant pour que cela fonctionne sous calc ?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range(“CarnetVolObs”)) Is Nothing Then
Range(“A1”).Value = Target.Row
Else
Range(“A1”).ClearContents
End If
End Sub

Un grand merci pour votre aide

Bonjour,
La question importante : sur quelles données cela agit et qu’est-ce que c’est censé faire ?
Bonne journée,

Bonjour @Marckssolent

Ci-dessous un exemple :

Sub PysOnChange(oEvt)

dim oPlage as object, oResult as object

if oEvt.supportsService("com.sun.star.sheet.SheetCell") then
	oPlage = oEvt.spreadSheet.getCellRangeByname("CarnetVolObs")
	oResult = oEvt.queryIntersection(oPlage.RangeAddress)
	oPlage = oEvt.spreadSheet.getCellRangeByname("A1")
	If oResult.RangeAddressesAsString <> "" Then 
		oPlage.value = oEvt.cellAddress.row
	else	
		oPlage.string = ""
	end if
end if
    
End Sub

LibreOffice ne gère pas le déclenchement des événements en fonction du nom des macros. Il faut

  • cliquer droit sur l’onglet de la feuille concernée puis
  • choisir Événements de la feuille puis
  • choisir Sélection modifiée et Macro… pour sélectionner la macro.

Je n’ai évidemment pas traduit le VBA mais j’ai adapté aux principes de fonctionnement de LibreOffice : le test sur le nombre d’objets dans la sélection est plus précis car outre le nombre, on vérifie que la sélection est une cellule.

Cordialement