Bonjour le Forum,
Ne trouvant pas la solution adéquat à mon projet, malgré les nombreuses pistes évoquées dans les différents forums sur les Listes déroulantes et les cases à cocher, je me retourne vers vous.
J'aimerai modifier l'emplacement de mes boutons "OptionButton" (pas les mêmes que ceux plus haut) visibles directement sur la feuille "Data" en les intégrant dans la boîte de dialogue "Recherche1".
Trois "OptionButton" permettent de faire les choix suivants pour alimenter la liste déroulante:
- Actif ( la liste des personnels ayant "Ops" = 3 )
- Futur ( la liste des personnels ayant "Ops" = 1 )
- Tous ( pas de filtre sinon NOM et Prénom par ordre alphabétique )
j'avais réussi à mettre à jour la cellule C5 dans la feuille "Parametres" suivant l'option choisie mais la liste déroulante ne se met pas à jour.
Les codes sont toujours présents.
merci d'avance à ceux qui pourront m'aider.
Bonne soirée à tous
Roby
[Résolu][Calc] Mise à jour ListBox suivant OptionButtons
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 : 66
- Inscription : 09 oct. 2013 21:12
[Résolu][Calc] Mise à jour ListBox suivant OptionButtons
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par toucan le 08 févr. 2019 12:48, modifié 5 fois.
Raison : Ajout de l'icône
Raison : Ajout de l'icône
LibreOffice 5.2.6.2 / LibreOffice 5.3 ( au Bureau ) "Par obligation de version".
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Calc] Mise à jour ListBox suivant OptionButtons
Bonjour
Très peu familier avec le tableur.
Un petit exemple de ce que j'ai compris
Je n'ai pas incorporé le tri du tableau, Tu as un exemple d'Alain de la Chaume IciA+
Très peu familier avec le tableur.
Un petit exemple de ce que j'ai compris
Je n'ai pas incorporé le tri du tableau, Tu as un exemple d'Alain de la Chaume Ici
Code : Tout sélectionner
Option Explicit
Dim oDlg as Object, maZone as Object
Sub Main
Dim oDoc as Object, FeuillePers as Object, oSelect as Object
Dim cellVide as Variant, y as Long
Dim Cherche As Object, trouv As Variant
DialogLibraries.LoadLibrary("Standard")
oDlg = CreateUnoDialog(DialogLibraries.Standard.Recherche1)
oDoc = thisComponent
FeuillePers = oDoc.Sheets.getByName("Personnels")
maZone = FeuillePers.getCellRangeByName("E2:E1000")
cellVide = maZone.queryEmptyCells().RangeAddresses
y = cellVide(0).StartRow
maZone = FeuillePers.getCellRangeByName("A2:B" & y)
If oDlg.execute = com.sun.star.ui.dialogs.ExecutableDialogResults.OK Then
If oDlg.getControl("ListBox1").SelectedItem = "" Then
MsgBox("Vous devez sélectionner une option (Actifs, Futurs ou Tous)" & Chr(13) & "Puis sélectionner un nom dans la liste déroulante")
Exit Sub
End If
Cherche = FeuillePers.createSearchDescriptor
With Cherche
.SearchString = oDlg.getControl("ListBox1").SelectedItem
.SearchType = 1
.SearchWords = True
End With
trouv = FeuillePers.findFirst(Cherche)
oSelect = FeuillePers.getCellRangeByPosition(0,trouv.CellAddress.Row,8,trouv.CellAddress.Row)
oDoc.CurrentController.Select(oSelect)
End If
oDlg.dispose()
End Sub
Sub Options(oEv as Object)
Dim i as Long, monTab() as String, n as Long
Select Case oEv.Source.Model.Tag
Case 1
For i = 0 To UBound(maZone.dataArray)
If maZone.dataArray(i)(0) = 1 Then
reDim Preserve monTab(n)
monTab(n) = maZone.dataArray(i)(1)
n = n + 1
End If
Next i
Case 2
For i = 0 To UBound(maZone.dataArray)
reDim Preserve monTab(n)
monTab(n) = maZone.dataArray(i)(1)
n = n + 1
Next i
Case 3
For i = 0 To UBound(maZone.dataArray)
If maZone.dataArray(i)(0) = 3 Then
reDim Preserve monTab(n)
monTab(n) = maZone.dataArray(i)(1)
n = n + 1
End If
Next i
End Select
oDlg.getControl("ListBox1").Model.StringItemList = monTab()
End Sub
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- Membre OOrganisé
- Messages : 66
- Inscription : 09 oct. 2013 21:12
Re: [Calc] Mise à jour ListBox suivant OptionButtons
Bonjour le Forum, Piaf
Le résultat attendu est de mettre le choix de la listbox dans cellule B2 de l'onglet "Data".
Le fait de pouvoir effectuer le choix avec les "OptionButton" est déjà une belle avancée. J'avais également vu le code cité mais je n'arrive pas à l'exploiter.
Ensuite c'est une recherche à partir de cette cellule qui affichera toutes les données retenue.
merci encore à toi de me permettre de m'avancer.
Bonne soirée à tous.
Le résultat attendu est de mettre le choix de la listbox dans cellule B2 de l'onglet "Data".
Le fait de pouvoir effectuer le choix avec les "OptionButton" est déjà une belle avancée. J'avais également vu le code cité mais je n'arrive pas à l'exploiter.
Ensuite c'est une recherche à partir de cette cellule qui affichera toutes les données retenue.
merci encore à toi de me permettre de m'avancer.
Bonne soirée à tous.
LibreOffice 5.2.6.2 / LibreOffice 5.3 ( au Bureau ) "Par obligation de version".
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Calc] Mise à jour ListBox suivant OptionButtons
Bonsoir
A+
Fait.Roby68 a écrit :Le résultat attendu est de mettre le choix de la listbox dans cellule B2 de l'onglet "Data".
j'ai ajouter la fonction de tri d'Alain de la Chaume.Roby68 a écrit :J'avais également vu le code cité mais je n'arrive pas à l'exploiter.
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- Membre OOrganisé
- Messages : 66
- Inscription : 09 oct. 2013 21:12
Re: [Calc] Mise à jour ListBox suivant OptionButtons
Bonsoir le Forum, Piaf
Parfait pour la cellule B2. Par contre je n'ai pas besoin qu'il aille se positionner dans l'onglet "Personnels". Simplement la copie en cellule B2 me convient pour ce test de boîte de dialogue.
Oui je suis assez exigeant tu vas me dire mais je n'ai pas trouvé la variable qui prend le choix de la liste pour essayer de la copier moi-même en B2. Je pensais à "oSelect", cela n'a pas fonctionné.
J'ai remarqué également que la boîte de dialogue est centrée dans la fenêtre Windows sous Open Office mais pas sous LibreOffice.
En effet, au boulot, on vient d'installer LibreOffice 5.2.6.2 à la place d'Open Office aujourd'hui. Pas encore familiarisé avec cette version.
Peut être là encore une option que l'on doit paramétrer quelque part.
Merci encore pour le temps passé.
Roby
Parfait pour la cellule B2. Par contre je n'ai pas besoin qu'il aille se positionner dans l'onglet "Personnels". Simplement la copie en cellule B2 me convient pour ce test de boîte de dialogue.
Oui je suis assez exigeant tu vas me dire mais je n'ai pas trouvé la variable qui prend le choix de la liste pour essayer de la copier moi-même en B2. Je pensais à "oSelect", cela n'a pas fonctionné.
J'ai remarqué également que la boîte de dialogue est centrée dans la fenêtre Windows sous Open Office mais pas sous LibreOffice.
En effet, au boulot, on vient d'installer LibreOffice 5.2.6.2 à la place d'Open Office aujourd'hui. Pas encore familiarisé avec cette version.
Peut être là encore une option que l'on doit paramétrer quelque part.
Merci encore pour le temps passé.
Roby
LibreOffice 5.2.6.2 / LibreOffice 5.3 ( au Bureau ) "Par obligation de version".
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Calc] Mise à jour ListBox suivant OptionButtons
Bonjour
A+
J'ai mis en commentaire la recherche.Roby68 a écrit :Par contre je n'ai pas besoin qu'il aille se positionner dans l'onglet "Personnels". Simplement la copie en cellule B2 me convient pour ce test de boîte de dialogue.
Le dialogue devrait être centré que ce soit sous AOO ou LibO.Roby68 a écrit :J'ai remarqué également que la boîte de dialogue est centrée dans la fenêtre Windows sous Open Office mais pas sous LibreOffice.
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- Membre OOrganisé
- Messages : 66
- Inscription : 09 oct. 2013 21:12
Re: [Calc] Mise à jour ListBox suivant OptionButtons
Bonjour le Forum, Piaf
Merci encore pour le temps passé. Cela fonctionne très bien (sur le fichier test).
Je ne pensais pas que le centrage de la boîte de dialogue ne se faisait que par code.
Encore une petite chose, à quoi correspond le "fMenu", je ne trouve pas l'origine.
Ensuite, j'ai voulu adapter le code à la feuille d'origine et cela ne fonctionne plus, pourtant pas grand chose qui change (pour ma part).
L'erreur affichée : ligne dans la fonction TriAlpha
- redim t2(indexMaxi)
Valeur ou type de données incorrect(e). Index hors de la plage définie.
Ce qui change sur le fichier origine:
- le nom de l'onglet "Personnels" du fichier test (pourtant changé dans le code fichier origine).
- Le tri doit se faire sur A2:BP... au lieu de A2:i... moins de colonnes (sur fichier test)
- La cellule de choix de la liste (1 2 3) c'est la cellule i79 de l'onglet nommé "Paramètres" au lieu de C5 même nom d'onglet sur le fichier test.
Mais du fait que tu as intégré un tri au code, est-ce le même tri que "TriDataOps"
je n'arrive pas à trouver à quoi correspond toutes les valeurs (trop compliqué pour moi).
merci encore pour le temps consacré.
Bonne soirée à tous
Roby
Merci encore pour le temps passé. Cela fonctionne très bien (sur le fichier test).
Je ne pensais pas que le centrage de la boîte de dialogue ne se faisait que par code.
Encore une petite chose, à quoi correspond le "fMenu", je ne trouve pas l'origine.
Ensuite, j'ai voulu adapter le code à la feuille d'origine et cela ne fonctionne plus, pourtant pas grand chose qui change (pour ma part).
L'erreur affichée : ligne dans la fonction TriAlpha
- redim t2(indexMaxi)
Valeur ou type de données incorrect(e). Index hors de la plage définie.
Ce qui change sur le fichier origine:
- le nom de l'onglet "Personnels" du fichier test (pourtant changé dans le code fichier origine).
- Le tri doit se faire sur A2:BP... au lieu de A2:i... moins de colonnes (sur fichier test)
- La cellule de choix de la liste (1 2 3) c'est la cellule i79 de l'onglet nommé "Paramètres" au lieu de C5 même nom d'onglet sur le fichier test.
Mais du fait que tu as intégré un tri au code, est-ce le même tri que "TriDataOps"
je n'arrive pas à trouver à quoi correspond toutes les valeurs (trop compliqué pour moi).
merci encore pour le temps consacré.
Bonne soirée à tous
Roby
LibreOffice 5.2.6.2 / LibreOffice 5.3 ( au Bureau ) "Par obligation de version".
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Calc] Mise à jour ListBox suivant OptionButtons
Bonjour
Après pour les erreurs rencontrées, il faudrait que tu mettes en ligne un fichier (sans données confidentielles) mais avec la même structure que ton fichier de travail.
A+
Strictement à rien, c'est une procédure que j'avais copié dans une base de données comme aide mémoire pour le positionnement du dialogue et que j'ai oublié d'effacer.Roby68 a écrit :Encore une petite chose, à quoi correspond le "fMenu"
Après pour les erreurs rencontrées, il faudrait que tu mettes en ligne un fichier (sans données confidentielles) mais avec la même structure que ton fichier de travail.
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- Membre OOrganisé
- Messages : 66
- Inscription : 09 oct. 2013 21:12
Re: [Calc] Mise à jour ListBox suivant OptionButtons
Bonjour le Forum, Piaf
Ok pour le "fMenu".
En ce qui concerne mes erreurs, j'ai effectué l'import de tous mes onglets et agencement du fichier origine sur le fichier test que tu as modifié, et ca marche. Je ne saurai pas pourquoi pour l'instant.
J'essaye de rendre le fichier incriminé neutre et le mettrais en ligne.
Merci dans tous les cas pour l'avancé effectué.
Bonne fin d'après midi
Roby
Ok pour le "fMenu".
En ce qui concerne mes erreurs, j'ai effectué l'import de tous mes onglets et agencement du fichier origine sur le fichier test que tu as modifié, et ca marche. Je ne saurai pas pourquoi pour l'instant.
J'essaye de rendre le fichier incriminé neutre et le mettrais en ligne.
Merci dans tous les cas pour l'avancé effectué.
Bonne fin d'après midi
Roby
LibreOffice 5.2.6.2 / LibreOffice 5.3 ( au Bureau ) "Par obligation de version".
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro