Bonjour à toutes et a tous,
J’utilise quotidiennement LibreOffice mais je suis un débutant sur la partie macro Basic.
Problématique :
Je veux verrouiller “B2” et “C2” en affichant “Attention ! P0” dans ces deux cellules si “A2” contient strictement la valeur “0” et non pas une cellule vide. Car une cellule vide ou contenant la valeur “0” est la même chose.
Les cellules “B2” et “C2” contiennent des validités. La cellule “C2” a une liste déroulante.
Si “A2” ne contient pas de valeurs alors j’active la liste déroulante de “B2” et je peux écrire dans “C2”.
Je souhaite effectuer cette action sur la plage “A2:C31”.
J’ai commence ce code ci-joint mais je suis bloqué sur l’activation de la liste déroulante.
Sub ValeurCellule
Dim oDoc, Feuille As Object
Dim P0, Motif, TypeC As Object
oDoc = ThisComponent
Feuille = oDoc.getSheets.getByName("Modèle")
P0 = Feuille.getCellRangeByName("A2")
Motif = Feuille.getCellRangeByName("B2")
TypeC = Feuille.getCellRangeByName("C2")
If P0.Type <> com.sun.star.table.CellContentType.EMPTY Then
Motif.String = "Attention P0 !"
TypeC.String = "Attention P0 !"
Else TypeC.clearContents(com.sun.star.sheet.CellFlags.STRING)
Motif.clearContents(com.sun.star.sheet.CellFlags.STRING)
End If
End Sub
Agri.ods (37.8 KB)
D’avance merci pour votre aide.
Nazée