Bonjour,
J'aimerais créer une zone de liste à l'intérieur d'une boîte de dialogue, mais je n'y arrive pas.
J'ai bien réussi a en créer une dans un onglet, grâce à la fenêtre "Contrôle" puis "Données", je peu la parametrer facilement, mais dans ma boîte de dialogue, l'onglet "Données" n'existe pas (visiblement).
Comment faire pour définir la cellule liée ? (si c'est possible)
Comment faire pour définir la plage de cellule source ?
Merci encore
[Résolu][Calc] Zone de liste dans boîte de dialogue
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- Membre OOrganisé
- Messages : 83
- Inscription : 28 oct. 2006 13:55
[Résolu][Calc] Zone de liste dans boîte de dialogue
Open Office 3.3.0 sous Windows 7
Continu de bricoler sous Calc (mais en net progrès)
Continu de bricoler sous Calc (mais en net progrès)
-
- Grand Maître de l'OOffice
- Messages : 11276
- Inscription : 02 mai 2006 08:42
Re: [Calc] Zone de liste dans boîte de dialogue
Bonjour
La grande différence entre dialogues et formulaires est que ces derniers sont prévus pour être liés à une source de données.
Autrement dit, tu dois gérer toi même l'alimentation de ta liste et ce qui adviendra de la sélection.
Les entrées d'une liste sont une variable tableau. Il est possible soit d'ajouter un par un les éléments (méthode AddItem), soit d'ajouter le tableau comme dans l'exemple ci-dessous.
La grande différence entre dialogues et formulaires est que ces derniers sont prévus pour être liés à une source de données.
Autrement dit, tu dois gérer toi même l'alimentation de ta liste et ce qui adviendra de la sélection.
Les entrées d'une liste sont une variable tableau. Il est possible soit d'ajouter un par un les éléments (méthode AddItem), soit d'ajouter le tableau comme dans l'exemple ci-dessous.
Code : Tout sélectionner
PysDlg.getControl("ListBox1").addItems(array("mardi", "mercredi", "jeudi"), 0)
PysDlg.Execute
thiscomponent.sheets.getByName("Feuille1").getCellRangeByName("A1").string = PysDlg.getControl("ListBox1").SelectedItem
-
- Membre OOrganisé
- Messages : 83
- Inscription : 28 oct. 2006 13:55
Re: [Calc] Zone de liste dans boîte de dialogue
Merci,
J'ai jeter un oeil mais je comprend pas grand chose. J'ai creer ma boîte de dialogue avec l'editeur.
J'ai donc ajouter ma ListBox nomé "ListBox1", mais comment utiliser ce que tu vien de me donner ? ou l'ajouter ?
Peux tu m'aider ?
avec l'éditeur j'ai mis dans le champs "entrée de liste" les jours de la semaine, mais comment récupérer l'info dans la cellule A1 ?
Merci
J'ai jeter un oeil mais je comprend pas grand chose. J'ai creer ma boîte de dialogue avec l'editeur.
J'ai donc ajouter ma ListBox nomé "ListBox1", mais comment utiliser ce que tu vien de me donner ? ou l'ajouter ?
Peux tu m'aider ?
avec l'éditeur j'ai mis dans le champs "entrée de liste" les jours de la semaine, mais comment récupérer l'info dans la cellule A1 ?
Code : Tout sélectionner
Sub Boite()
Dim monDoc as Object, maFeuille as Object
Dim Dlg As Object, bibli As Object, monDialogue As Object
Dim NoSerie as String
monDoc = ThisComponent
maFeuille = monDoc.Sheets.getByName("MP")
DialogLibraries.LoadLibrary("Standard")
bibli = DialogLibraries.GetByName("Standard")
monDialogue = bibli.GetByName("Fenetre")
Dlg = CreateUnoDialog(monDialogue)
' Dlg.getControl("sNoSerie").text=maFeuille.getCellRangeByName("U5").String
Dlg.Execute
NoSerie = Dlg.getControl("sNoSerie").text
maFeuille.getCellRangeByName("U5").setString(NoSerie)
dlg.close
End Sub
Open Office 3.3.0 sous Windows 7
Continu de bricoler sous Calc (mais en net progrès)
Continu de bricoler sous Calc (mais en net progrès)
-
- Grand Maître de l'OOffice
- Messages : 11276
- Inscription : 02 mai 2006 08:42
Re: [Calc] Zone de liste dans boîte de dialogue
Ci-dessous un exemple plus complet... quoique simple
Le code montre comment récupérer une plage de cellules (ici A1:A) pour "alimenter" la zone de liste.
Après exécution on "récupère" la sélection de la liste dans la cellule B1
Le code montre comment récupérer une plage de cellules (ici A1:A) pour "alimenter" la zone de liste.
Après exécution on "récupère" la sélection de la liste dans la cellule B1
Code : Tout sélectionner
Option Explicit
global Dlg As Object
' Constante égale au nombre d'entrées de la liste
' Ici les données sont en feuille1.A1:A5
' Les lignes sont numérotées à partir de zéro
const NumLig = 4
Sub SaisieNom()
Dim bibli As Object, monDialogue As Object
Dim monDoc as Object, MaFeuille as object, MaCelluleDest as object
dim ExoData(NumLig) as string
dim i as double
monDoc = ThisComponent
MaFeuille = monDoc.sheets.getByName("Feuille1")
'Variable pour la cellule dans laquelle on stockera la sélection
MaCelluleDest = MaFeuille.getCellRangeByName("B1")
DialogLibraries.LoadLibrary("Standard")
bibli = DialogLibraries.GetByName("Standard")
monDialogue = bibli.GetByName("Dialog1")
Dlg = CreateUnoDialog(monDialogue)
'Boucle pour créer une variable "tableau" contenant dans chaque
'élément une entrée de la liste
for i = 0 to NumLig
ExoData(i) = MaFeuille.getCellByPosition(0, i).formula
next i
'Mise à jour de la liste avec les données lues ci-dessus
'Ecrire ExoData() sans indiquer de nombre entre les parenthèses
'indique à OOo qu'il doit "passer" toute la variable tableau
'et pas un élément en particulier
Dlg.getControl("ListBox1").addItems(ExoData(), 0)
Dlg.Execute
'Modification du texte contenu dans la cellule B1
MaCelluleDest.string = Dlg.getControl("ListBox1").SelectedItem
End Sub
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- NOOuvel adepte
- Messages : 18
- Inscription : 15 oct. 2014 06:41
Re: [Calc] Zone de liste dans boîte de dialogue
Bonjour
j'essaie d'adapter le tableur calc ci dessus pour mon usage mais je bloque sur une variable non définie alors que je pensais les avoir toutes définies, si quelqu'un peut jeter un œil.
merci
j'essaie d'adapter le tableur calc ci dessus pour mon usage mais je bloque sur une variable non définie alors que je pensais les avoir toutes définies, si quelqu'un peut jeter un œil.
merci
La modération vous a écrit: Ami fossoyeur, merci de ne pas déterrer de fil aussi vieux.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
UBUNTU 14.04 TLS
LibreOffice Professionnel 5.1.2.2
LibreOffice Perso 5.2.6
LibreOffice Professionnel 5.1.2.2
LibreOffice Perso 5.2.6