IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

Ouverture d'une boite de dialogue en cliquant dans une plage nommée [OpenOffice][Tableur]


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre chevronné Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Points : 2 003
    Points
    2 003
    Par défaut Ouverture d'une boite de dialogue en cliquant dans une plage nommée
    Bjr le Forum,
    auparavant sur excel et forcer de passer à open office je rencontre des difficulté quand à l'application de certaines macro.
    Dans le fichier que je crée j'aimerais lorsque je clique sur une cellule de la plage nommée "essai" déclenché l'ouverture de "Dialog1" avec excel je savais faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_SelectionChange (ByVal Target As Range)
    If Not Intersect (Target, [essai]) Is Nothing then Userform1.Show
    End Sub
    mais avec Calc je suis dépassé.
    Je sais ouvrir "Dialog1" avec une Sub :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Dialog1Show
    BasicLibraries.LoadLibrary("Standard")
    oDialog1 = CreateUnoDialog( DialogLibraries.Standard.Dialog1 )
    oDialog1.Execute()
    End Sub
    mais le but de Dialog1 est d'être utilisé dès qu'on clique sur une des cellules de la plage "essai".
    Pouvez-vous m'aider SVP?

  2. #2
    Membre chevronné Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Points : 2 003
    Points
    2 003
    Par défaut Grande avancé
    bjr,
    apparemment y a pas grand monde, en cherchant et avec beaucoup de réfléxion j'ai avancé et je réussi maintenant a ouvrir ma boite de dialogue en cliquant sur une cellule, voici le code qui est un peu long car en fait pour y arriver il faut faire une succesion de code les voici:
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    Option Explicit
     
    Global PysDocView as object, PysListener as object, PysPreced as object
     
    '***********************************************************************************
    ' Procédure à lancer pour mettre en route le traitement
    '***********************************************************************************
    sub PysListenerAdd
    '***********************************************************************************
     
    PysDocView = ThisComponent.getCurrentController  '  en gros la fenêtre du document courant
     
    ' Si la sélection courante est une cellule ou une plage 
    if thiscomponent.currentselection.supportsService("com.sun.star.table.Cell") then
     
    ' 	Déclenche la surveillance du changement de sélection à la fenêtre courante
    	PysListener = createUnoListener("Pys_","com.sun.star.view.XSelectionChangeListener")
    	PysDocView.addSelectionChangeListener(PysListener)
    else
    	msgbox "Non disponible avec la sélection courante"
    end if
     
    end sub
     
     
    '***********************************************************************************
    ' Procédure pour arrêter le traitement
    sub PysListenerRemove
    '***********************************************************************************
    if not(isnull(PysListener)) then
    	PysDocView.removeSelectionChangeListener(PysListener)
    end if
     
    end sub
     
     
    '***********************************************************************************
    ' Procédure appelée par l'événement "arrêt du listener". 
    ' Nécessaire même si ne fait rien
    sub Pys_disposing(PysListener)
    '***********************************************************************************
    end sub
     
     
    '***********************************************************************************
    ' Procédure déclenchée quand changement de sélection
    Sub Pys_selectionChanged(PysListener)
    '***********************************************************************************
    Dim PysEnCours as object
     
    PysEnCours = thiscomponent.currentselection
     
    ' Si la sélection courante est une cellule ou une plage
     
    if PysEnCours.supportsService("com.sun.star.table.Cell") then
     
    call dialog1initialize
    end if
     
    End Sub
    Ce code fonctionne si je clique sur n'importe quel cellule de ma feuille. Reste à trouver le moyen de créer l'ouverture uniquement lorsque je clique sur une des cellules d'une plage nommée "essai" et pas sur toute la feuille.

    Si quelqu'un à une idée je suis preneur, merci d'avance
    A+

  3. #3
    Membre chevronné Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Points : 2 003
    Points
    2 003
    Par défaut Eurêka !
    Slt,
    pour info vous trouverez la solution ici :

    http://user.services.openoffice.org/...13afd1ee63ab19

    Pour cette solution je tiens particulièrement à remercier Monsieur Pierre-Yves Samyn
    Voila A+

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 48
    Points : 32
    Points
    32
    Par défaut
    Désolé de réouvrir ce sujet 5 ans après, mais j'ai exactement le même problème...
    Sur Excel, tout marche nickel et sous OpenOffice, c'est la galère de trouver l'équivalence.
    J'ai suivi le lien que tu donnes, et j'ai testé le code Pierre-Yves Samyn...seulement voilà, il n'y a aucune réaction à l'ouverture du fichier...pour que le code fonctionne, j'ai dû exécuter une première le code dans l'éditeur, et ensuite, quand je retourne sur la feuille de calcul, là ca marche....

    J'aimerais savoir si c'est un problème venant de moi (configurations à changer par exemple), ou bien il y a des modifications à apporter dans le code ?
    Merci par avance de ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/06/2010, 12h02
  2. [VB]Afficher une liste dans une boite de dialogue
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 05/04/2006, 11h30
  3. Caractères spéciaux dans une boite de dialogue
    Par Rafiki dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 09/03/2006, 14h05
  4. [MFC] Dessin dans une boite de dialogue .
    Par Platypus dans le forum MFC
    Réponses: 8
    Dernier message: 21/07/2005, 11h21
  5. afficher dans une boite de dialogue la valeur d'une variable
    Par micknic dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/07/2005, 09h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo