Bonjour,
Je n’arrive pas à trouver de doc pour manipuler des listes de validation. Je souhaite juste récupérer les valeurs sélectionnées.
Merci infiniment
Sans nom 2.ods (9.7 KB)
Bonjour Nadonad,
vous trouverez une macro qui détermine la sélection actuelle, lui applique une couleur de fond et un libellé, en cliquant sur le lien :
option explicit
sub LibOGererSelection
dim LibOFeuille as object
dim LibOSelCourante as object
dim LibOUneCellule as object
dim LibONbPlages as integer
dim LibONbCol as integer
dim LibONbLig as integer
LibOFeuille = thisComponent.CurrentController.ActiveSheet
LibOSelCourante = ThisComponent.CurrentSelection
if LibOSelCourante.supportsService("com.sun.star.sheet.SheetCell") then
LibOGererSelectionSuite(LibOSelCourante)
elseif LibOSelCourante.supportsService("com.sun.star.sheet.SheetCellRange") then
with LibOSelCourante.RangeAddress
for LibONbCol = .StartColumn to .EndColumn
for LibONbLig = .StartRow to .EndRow
LibOUneCellule = LibOFeuille.getCellByPosition(LibONbCol, LibONbLig)
LibOGererSelectionSuite(LibOUneCellule)
next LibONbLig
next LibONbCol
end with
elseif LibOSelCourante.supportsService("com.sun.star.sheet.SheetCellRanges") then
for LibONbPlages = 0 to ubound(LibOSelCourante.RangeAddresses)
with LibOSelCourante.RangeAddresses(LibONbPlages)
for LibONbCol = .StartColumn to .EndColumn
for LibONbLig = .StartRow to .EndRow
LibOUneCellule = LibOFeuille.getCellByPosition(LibONbCol, LibONbLig)
LibOGererSelectionSuite(LibOUneCellule)
next LibONbLig
next LibONbCol
end with
next LibONbPlages
else
msgbox "la sélection doit être soit une cellule, soit une ou plusieurs plages de cellules"
end if
end sub
sub LibOGererSelectionSuite(LibOCell as object)
with LibOCell
.string = "LibreOffice"
.CellBackColor = 16765728
end with
end sub