Bonsoir,
Si j'ai bien compris, le souci est de ré-initialiser les listbox sur action du bouton "Nouveau". Il n'y a pas de propriété "Text" dans une "listbox", la propriété "selectedItem" est en lecture uniquement mais on peut sélectionner un item par "selectItemPos(1,true) " le code la macro est :
Code : Tout sélectionner
Sub MoveRecord(oEv as Object)
Dim Var() as String, I as Long, oNom as Object, lesLignes as Object
Dim oFeuille As Object, maZone as Object, gomme as Long, txt as String, nomprenom as String, x as Long,genre as String
oFeuille = ThisComponent.Sheets.getByName("Donnees")
Select Case oEv.Source.Model.Name
Case "lstContacts"
nLig = oEv.Source.SelectedItemPos + 1
oEv.Source.Model.SelectedItems = Array()
Case "cmdFirst"
nLig = premLig
Case "cmdPrevious"
nLig = nlig - 1
Case "cmdNext"
nLig = nlig + 1
Case "cmdLast"
nLig = derLig
Case "cmdNew"
nLig = derLig + 1
NewReg = True
Case "cmdSupprimer"
maZone = oFeuille.getCellRangeByPosition(0,nLig, 0,nLig)
lesLignes = maZone.Rows
lesLignes.removeByIndex(0,1)
derLig = derLig - 1
nLig = 1
oDlg.getControl("lstContacts").Model.removeAllItems
For x = 1 to derLig
nomprenom ="Parents" & oFeuille.getCellByPosition(0,x).String ' & " " & oFeuille.getCellByPosition(3,x).String
oDlg.getControl("lstContacts").AddItem(nomprenom,x)
Next
End Select
oDlg.getControl("lblEnreg").Model.Label = "Enreg : " & nLig & " / " & derLig
boutonsDeplacement
Var = Array("txtNom","lstSexe","lstClasse","lstDispositif","lstPéri1","lstPéri2","lstPéri3","lstFréquente1","lstFréquente2","lstFréquente3","lstSuivi1","lstSuivi2","lstSuivi3","lstSuivi4","lstSuivi5","lstSuivi6","lstApprentissage1","lstApprentissage2","lstApprentissage3","lstApprentissage4","lstApprentissage5","lstApprentissage6","lstApprentissage7","lstClimat1","lstClimat2","lstClimat3","lstClimat4","lstClimat5","lstClimat6","lstClimat7","lstClimat8","lstClimat9","lstFonc1","lstFonc2","lstFonc3","lstFonc4","lstFonc5","lstFonc6","lstInsti1","lstInsti2","lstInsti3","lstInsti4","lstSixieme1","lstSixieme2","lstSixieme3","Autre")
For I = 0 to UBound(Var)
oNom = oDlg.GetControl(Var(I))
If oNom.supportsService("com.sun.star.awt.UnoControlListBox") Then
'txt = oFeuille.getCellByPosition(I, nLig).String
'oNom.selectItem(txt, True)
' Réinisialisation des listbox ***maj
oNom.selectItemPos(1,true) ' sélection premier item
ElseIf oNom.supportsService("com.sun.star.awt.UnoControlRadioButton") Then
genre = oFeuille.getCellByPosition(I, nLig).String
If genre = "M" Then
oDlg.getControl("obM").State = True
Else
oDlg.getControl("obF").State = True
End If
Else
oNom.Text = oFeuille.getCellByPosition(I, nLig).String
End If
Next
oDlg.getControl("cmdEnregistrer").Enable = False
oDlg.getControl("lstSexe").SetFocus
End Sub
J'espère que cela vous convient. Xray est très utile pour la mise au point des macros.
Bonne soirée.
Max59550_Retour questionnaires parents.ods
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.