6 messages in org.openoffice.fr.progRe: [prog] Boite de dialogue
FromSent OnAttachments
DAVID, Jean-ClaudeJul 6, 2005 10:21 am 
La lumière des ElfesJul 6, 2005 2:37 pm.jpg
Agnès SimonetJul 6, 2005 10:00 pm 
Alain NowakJul 7, 2005 12:49 am 
DAVID, Jean-ClaudeJul 7, 2005 1:18 am 
La lumière des ElfesJul 7, 2005 9:54 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] Boite de dialogueActions...
From:DAVID, Jean-Claude (jcda@tele2.fr)
Date:Jul 7, 2005 1:18:58 am
List:org.openoffice.fr.prog

Bonjour, La même macro, mais qui fonctione ;-)))

Attention, je crois que ton problème se situe au niveau des "Bibliothèques et Modules" : un classeur contient des bibliothèques (library), qui elles mêmes contiennent des modules VB, qui contiennent des macros.

Dans ton code, il est indiqué qu'il y a une bibliothèque "Standard" et une bibliothèque "Dialogue". Cette bibliothèque "dialogue" contiend un module (onglet) boite de dialogue nomé "Dialogue1"

Dans mon 2ème code, je suppose (ce qui est je crois le cas le plus fréquent, et - il me semble - le plus pratique) que le module de code et le module de boite de dialogue sont dans la même bibliothèque "Standard".

Bon courage, Jean-Claude

sub essaie Dim MonDocument As Object, LesFeuilles As Object, UneFeuille As Object, MaCellule As Object Dim oBoiteDialogue As Object,ExitOk AS integer Dim ChampDirection AS Object Dim Direction As String

monDocument = thisComponent LesFeuilles = MonDocument.Sheets UneFeuille = LesFeuilles.getByName("Feuille1") MonDocument.currentController.activeSheet = uneFeuille

exitOK = com.sun.star.ui.dialogs.ExecutableDialogResults.OK DialogLibraries.LoadLibrary("Dialogue") oBoiteDialogue = CreateUnoDialog( DialogLibraries.Dialogue.Dialog1)

oBoiteDialogue.Model.TextField1.Text = "Toto" if oBoiteDialogue.Execute = exitOK then ' récupération des données ChampDirection=oBoiteDialogue.GetControl("TextField1") Direction=ChampDirection.Text MaCellule=UneFeuille.getCellRangeByName("A1") MaCellule.string = (direction) end if End Sub

Code en mettant les 2 modules (code et Boite de dialogue dans la même bibliothèque) sub essaie Dim MonDocument As Object, LesFeuilles As Object, UneFeuille As Object, MaCellule As Object Dim oBoiteDialogue As Object,ExitOk AS integer Dim ChampDirection AS Object Dim Direction As String

monDocument = thisComponent LesFeuilles = MonDocument.Sheets UneFeuille = LesFeuilles.getByName("Feuille1") MonDocument.currentController.activeSheet = uneFeuille

exitOK = com.sun.star.ui.dialogs.ExecutableDialogResults.OK oBoiteDialogue = CreateUnoDialog( DialogLibraries.Standard.Dialogue)

oBoiteDialogue.Model.TextField1.Text = "Toto" if oBoiteDialogue.Execute = exitOK then ' récupération des données ChampDirection=oBoiteDialogue.GetControl("TextField1") Direction=ChampDirection.Text MaCellule=UneFeuille.getCellRangeByName("A1") MaCellule.string = (direction) end if End Sub