Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

Alimenter une boite de dialogue avec les cellules d'une feuille


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre à l'essai
    Alimenter une boite de dialogue avec les cellules d'une feuille
    Bonsoir à tous,
    Je suis nouveau sur ce forum et débutant en programmation sous Libre Office.
    Je rencontre un problème qui est peut-être simple (mais je butte).
    Je souhaite alimenter une boite de dialogue (Dialog2) avec les données d'une
    feuille de classeur Calc (Enregistrement).
    Je voudrais pouvoir choisir la ligne à importer en utilisant le TextField9.
    Je parviens à remplir ma boite de dialogue avec première ligne mais sans
    pouvoir en choisir une autre (c'est toujours la ligne 1 qui se charge)
    Pouvez-vous m'aidez?
    Ci-dessous mon code
    Bonne soirée à tous Cordialement Alain


    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Sub InsertionBdD
     
    Dim oCursor As Object, nLig As string, Dlg As Object
       monDoc = ThisComponent
       maFeuille = monDoc.Sheets.getByName("Enregistrements")
       DialogLibraries.LoadLibrary("Standard")
       bibli = DialogLibraries.GetByName("Standard")
       monDialogue = bibli.GetByName("Dialog2")
       Dlg = CreateUnoDialog(monDialogue)
       nLig = Dlg.getControl("TextField9").Text + 5
     
     
        Dlg.getControl("TextField1").text = maFeuille.getCellRangeByName("C" & nLig).String
        Dlg.getControl("TextField2").text = maFeuille.getCellRangeByName("A" & nLig).String
        Dlg.getControl("TextField3").text = maFeuille.getCellRangeByName("D" & nLig).String
        Dlg.getControl("TextField6").text = maFeuille.getCellRangeByName("E" & nLig).String
        Dlg.getControl("TextField4").text = maFeuille.getCellRangeByName("F" & nLig).String
        Dlg.getControl("TextField7").text = maFeuille.getCellRangeByName("G" & nLig).String
        Dlg.getControl("TextField5").text = maFeuille.getCellRangeByName("H" & nLig).String
        Dlg.getControl("TextField8").text = maFeuille.getCellRangeByName("I" & nLig).String
     
        Dlg.Execute
     
    End Sub

  2. #2
    Membre habitué
    Alimenter une boite de dialogue avec les cellules d'une feuille
    Bonjour,
    J'espère avoir compris. En pièce jointe un fichier exemple.
    A l'avenir, afin que l'on t'aide au mieux et pour éviter que l'on soit obligé de créer le document avec la boite de contrôle, il est préférable de jointe ton fichier.
    Ainsi cela nous fait moins de travail.



    Cordialement
    Libre Office Version: 6.3.4.2 (x64)
    Windows 10

  3. #3
    Membre habitué
    Alimenter une boite de dialogue avec les cellules d'une feuille
    Re Bonjour

    Petite modification, j'ai ajouté un bouton sur la feuille pour lancer la boite de dialogue. Et un bouton quitter pour fermer cette boite.
    Si tu veux des explications n'hésites pas.

    Cordialement

    Libre Office Version: 6.3.4.2 (x64)
    Windows 10

  4. #4
    Membre à l'essai
    Bonsoir Mobydick,
    Problème résolu.
    Le code que tu m'as envoyé fonctionnait bien sur mon programme.
    Après avoir fait un copié-collé dans mon application, cela ne
    fonctionnait plus. Après recherche, j'ai enfin trouvé : en fait
    je saisissais mon numéro de ligne dans une zone de texte et
    non dans un champ numérique !!!!
    Erreur de débutant, enfin je pense que c'est comme ça que
    l'on progresse.
    Encore mille fois merci pour ta réponse efficace et très réactive.
    Bonne soirée et peut-être à une prochaine fois.
    Cordialement Alain

###raw>template_hook.ano_emploi###