Bonjour Bernard,
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,