Bonjour Bernard,
Le 31/03/2019 à 11:06, Bernard Siaud alias Troumad a écrit :
Toujours dans mon document http://troumad.org/OOo/Feuille_Chronique.ods,
j'ai des cases à cocher. J'aimerai vérifier leur état avec une marcro.
Je cherche une macro qui cheke les checkbutton.
Voici une fonction qui compte les cases à cochées à l'état coché sur un
document Calc. Tu devras l'adapter pour ton besoin.
(non testé)
8< --------------------------------------------------
Function _CheckBoxCount(pDoc As Object, pSheetName As String, pFormName
As String) As Long
'pDoc : le document Calc
'pSheetName : le nom de la feuille à explorer
'pFormName : le nom du formulaire
'Renvoie le nombre de cases cochées, ou -1 si erreur (feuille ou
formulaire inconnus)
Dim oSheet As Object
Dim oForm As Object
Dim oControls As Object
Dim oCurControl As Object
Dim i As Long
Dim l_Checked As Long
l_Checked = -1
On Local Error Goto ErrHandler
If pDoc.Sheets.hasByName(pSheetName) Then
oSheet = pDoc.Sheets.getByName(pSheetName)
oForm = oSheet.DrawPage.Forms.getByName(pFormName)
If Not IsNull(oForm) Then
l_Checked = 0
oControls = oForm.getControlModels
For i = 0 To UBound(oControls)
oCurControl = oControls(i)
'case à cocher ?
If (oCurControl.ClassID = 5) Then
'cochée ?
If (oCurControl.State = 1) Then
l_Checked = l_Checked + 1
End If
End If
Next i
End If
End If
ErrHandler:
'ne rien faire
_CheckBoxCount = l_Checked
End Function '_CheckBoxCount
----------------------------------------------------- >8
Bien cordialement,
Si vous répondez, merci de penser à utiliser la fonction "répondre à
tous" de votre logiciel de courrier électronique de façon que la liste
reçoive une copie de votre réponse.
Bien cordialement,
Si vous répondez, merci de penser à utiliser la fonction "répondre à
tous" de votre logiciel de courrier électronique de façon que la liste
reçoive une copie de votre réponse.
Bien cordialement,
--
Jean-Francois Nifenecker, Bordeaux
--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à
https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy