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+unsubscribe@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
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.