Hello,

Pour ma part, mes tests se font dans les cellules, de manière
transparante, c ce que je vais chercher en J5. De là, dans mon OO en
tout cas, le document ne s'enregistre que si et seulement si c égal à
cette valeur, Dans le cas contraire il ouvre le MSgBox.

Tu peux p-e expliquer un peu plus longuement ce que tu voudrais vérifier
comme données, p-e qu'un solution se trouverait plus aisément.

Une autre solution adoptée dans l'entreprise, est le formatage
conditionnel de ecllule en fonction de critères définissant ce qui peut
s'y trouver ou non.

En gros si une date est pas encodée au format date, le fond de la
cellule se colorise en rouge.

Je présume par ailleurs (sans être un pro de la programation) qu'il est
possible de faire des tests de validité en VB directement mais là il
faut savoir ce qu'on vérifie...


Le mer 09/05/2007 à 05:16, SEGUIN François a écrit :

> Merci pour cet essai, mais ça ne fonctionne pas comme je voudrais car 
> l'évennement est bien déclanché et le code effectué mais si la valeur ne 
> correspond pas a ce que j'attends la sauvegarde s'effectue quand même et si 
> elle est bonne on boucle sur l'évennement.
> Je recherche plutôt un moyen d'annuler la commande de sauvegarde.
> 
> François
> 
> 
> ----- Original Message ----- 
> From: "Christophe Mathysen" <[EMAIL PROTECTED]>
> To: <prog@fr.openoffice.org>
> Sent: Tuesday, May 08, 2007 12:46 PM
> Subject: Re: [prog] Gestion d'evennement
> 
> 
> Hello,
> 
> Je pense qu'un truc du genre devrait te mettre sur la piste
> 
> sub test
> rem
> ----------------------------------------------------------------------
> rem define variables
> dim document   as object
> dim dispatcher as object
> rem
> ----------------------------------------------------------------------
> rem get access to the document
> document   = ThisComponent.CurrentController.Frame
> dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
> 
> laValeur =
> thisComponent.currentController.activesheet.getCellRangeByName("d58").value
> Attest =
> thisComponent.currentController.activesheet.getCellRangeByName("j5").string
> If Attest = "N" then
> dispatcher.executeDispatch(document, ".uno:Save", "", 0, Array())
> elseif Attest = "" then
> MsgBox( "Veuillez compléter le rôle linguistique. / Gelieve de taalrol
> in te vullen." )
> End if
> 
> end sub
> 
> Ensuite tu modifies la barre d'outil (Personaliser la barre
> d'outils>Evénements>Enregistrement du document) en assignant la macro
> que tu as créé.
> 
> Christophe
> 
> 
> Le mar 08/05/2007 à 10:50, SEGUIN François a écrit :
> 
> > Bonjour,
> >
> >
> > Je souhaite contrôler des données avant d'enregister un document. 
> > J'utilise l'évennement "Enregistrement du document" qui me permet de 
> > savoir que l'utilisateur va enregistrer son document. Mais J'aimerai que 
> > cet évennement n'execute pas l'enregistrement si le contrôle des données 
> > n'est pas correct.
> > Y a t'il un moyen?
> >
> > F.SEGUIN
> 
> Christophe Mathysen
> Fédération des Mutualités Socialistes du Brabant
> Tel  02 506 96 11 - Fax 02 514 59 26
> 
> http://www.fmsb.be
> 
> ---------------------------------------------------------------------------------------
> Orange vous informe que cet  e-mail a ete controle par l'anti-virus mail.
> Aucun virus connu a ce jour par nos services n'a ete detecte.
> 
> 
> 
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]

Christophe Mathysen
Fédération des Mutualités Socialistes du Brabant
Tel  02 506 96 11 - Fax 02 514 59 26

http://www.fmsb.be

Répondre à