J'ai réalisé un tableau de relevé du kilométrage parcouru des véhicules
Avec l'aide d' Ekel et de Churay, j'ai poiner ma boîte de dialogue
Mais je me suis aperçu aprés avoir clos mon sujet que lorsqu'on entre un relevé kilométrique d'un véhicule en utilisant la macro, les autres relevés s'effacent des cellules.
Y-a-t-il une solution pour faire apparaitre dans les cases NuméricField la boîte de dialog les relevées figurant déja dans les cellules du tableau?
Voici le code:
Code : Tout sélectionner
Option Explicit
Dim oDlg As Object
Sub OuvrirDialog
Dim bibli As Object, monDialogue As Object
DialogLibraries.LoadLibrary("Standard")
bibli = DialogLibraries.GetByName("Standard")
monDialogue = bibli.GetByName("Dialog1")
oDlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
oDlg.Execute
End Sub
Sub Test
Dim oDoc as Object, maFeuille as Object
Dim position(1 To 12,1 To 14) as Variant
Dim x as Integer, y as Integer, i as Integer, z as Integer
Dim AddressCellule() as String, lst as Object
oDoc = thisComponent
maFeuille = oDoc.Sheets.getByName("Relevé Compteurs")
i = 1
z = 1
For x = 4 To 15
For y = 7 To 20
AddressCellule = split(maFeuille.getCellByPosition(x,y).AbsoluteName,".")
position(i,z) = addresscellule(UBound(addressCellule))
z = z + 1
Next y
i = i + 1
z = 1
Next x
lst = oDlg.GetControl("ListBox1")
If lst.SelectedItemPos = -1 Then
MsgBox("Vous devez sélectionner un mois")
Exit sub
End If
For i = 1 To 14
maFeuille.getCellRangeByName(position(lst.SelectedItemPos + 1,oDlg.getControl(i).Model.Name)).Value = oDlg.getControl(i).Value
Next i
End Sub
Je joinds également le tableau