Bonjour,

Ci-dessous un script d'un agent que l'on lance à partir du menu actions, qui permet de catégoriser le document courant. Une boite de dialoque invite à saisir la catégorie qu'il faut attribuer au document. Comment puis je remplacer cette boite de dialogue (Inputbox) par une liste de selection à choix unique (boite à liste) proposant les categories disponibles dans ma base de document ?
Ainsi cela éviterait de saisir des mots clefs approximatifs dans le champ categorie et faciliterait les opérations de traitements massifs, de classement ou de recherche.

Merci de vos réponses,
cdlt

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
'(Options)
Option Public
Option Explicit
'pour la gestion des boites de dialogues ou messagebox
%INCLUDE "LSCONST.LSS" 	

'(Declarations)
Dim Dbg 	As Boolean		'True = mode debug, False = Mode normal
Dim session 	As notessession		'Session
Dim db 		As notesdatabase	'Base courante
Dim doc		As NotesDocument	'Document courant
Dim ws 		As NotesUIWorkspace	'Vue courante
Dim uiview 	As NotesUIView		'vecteur graphique de la vue
Dim nv 		As NotesView		'contenu de la vue
Dim view 	As NotesView		'NOTESVIEW
Dim Msg 	As String
Dim nb 		As Integer

'Initialize
Sub Initialize
'Session courante
	Dim session As New notessession
'Vue courante
	Dim ws As New NotesUIWorkspace
	
	Dim Nom_Cible As String
	Dim actualCat As String
	Dim confirme As Boolean
	
	Dbg = False
	
'Instanciations	
	Set db=session.CurrentDatabase				'Recuperation de la base courante
	Set uiview = ws.CurrentView				'Récupération de la vue courante
	Set doc = session.DocumentContext			'Récupération du document courant
	
	If(db.FolderReferencesEnabled) Then
	   If Dbg Then Messagebox ("Folder references enabled")
	Else
	   Messagebox("Folder references are not enabled"  & Chr(13) & Chr(10) & "Enabling folder references")
	   db.FolderReferencesEnabled = True
	End If
	
	actualCat = Cstr(doc.GetItemValue("Categories")(0) ) 	'Lecture de la categorie du document courant
	If Dbg Then 	Messagebox (actualCat)
	
	Msg = Chr(13) & Chr(13)   				'Passer à la ligne
	Msg = Msg & "Categorie actuelle : " + actualCat		'Rappel de la catégorie actuelle
	Msg = Msg  & Chr(13)                    		'Passer à la ligne
	Msg = Msg  & "Nouvelle valeur ? " 			'Question
	Msg = Msg  & Chr(13)    			      	'Passer à la ligne
	Nom_Cible = saisi_Text("A quelle CATEGORIE voulez vous rattacher ce document ? " & Msg)
	
	If Dbg Then 
	   Msg = "Categorie actuelle : " + actualCat		'Rappel de la catégorie actuelle
	   Msg = Msg  & Chr(13) + Chr(10)			'Passer à la ligne
	   Msg = Msg  & "Nouvelle valeur : " + Nom_Cible	'Rappel de la catégorie cible saisie
	   Msg = Msg  & Chr(13) + Chr(10)			'Passer à la ligne
	   confirme = confirm_chx(Msg & Chr(13) & Chr(10) & "continuer ?")
		
	Else 
	   confirme = True
		
	End If 'fsi DBG
	
	If confirme Then
	   If Dbg Then 	Messagebox("Choix confirme !")
	   doc.Categories = Nom_Cible				'Attribution nouvelle valeur de catégorie
	   Call doc.Save(	True, False, False)		'Recriture du document
	   If Dbg Then 	Messagebox("Categorisation terminée")		
	Else
	   doc.Categories = actualCat				'Restauration e la catégorie actuelle (au cas ou)
	   Call doc.Save(	True, False, False)		'Recriture du document
	   Messagebox("Choix abandonné !")		
	End If 'fsi Confirme
	
End Sub

Function saisi_text(question As String) As String
	Dim NomV_cible As String   	 		
	NomV_cible$ = Inputbox$ (question)	
	saisi_text = Cstr(NomV_cible)	
End Function

Function confirm_chx(q As String) As Boolean
	
	Dim boxType As Long, answer As Integer
	Dim a

	boxType = MB_YESNO + MB_ICONQUESTION
	answer = Messagebox(q, MB_YESNO + MB_ICONQUESTION, "Continue?")
	
	If answer = IDYES Then 
	     confirm_chx = True
	Else 
	     confirm_chx = False
	End If	
		
End Function