Alors, voila le code que j'utilise, je le donne sous licence "Domaine public"

))Ce n'est pas juste une fonction DbLookup simple.J'ai ajouté un cache de vues. En effet, en LotusScript l'ouverture d'une vue prend beaucoup de temps (style 0,5s). Lorsqu'on a plusieurs recherches à effectuer dans la même vue, on voit clairement le problème.J'ai donc écrit une classe (J'aime bien la POO) qui gère un cache de vues.Ainsi lorsqu'on désire ouvrir une vue, il suffit d'appeler ce cache de lui indiquer le serveur, la base et la vue et il retournera la vue demandée (ou nothing si elle n'est pas accessible ou inexistante).Ma fonction DbLookup utilise ce cache, c'est pour ça que j'ai rajouté ce code.Pour l'utiliser dans une appli, copier/coller dans une librairie de Script.Ensuite faire un Use de la librairie et puis appeler le DbLookup

)Voila, plus rien à ajouter.' Le cache des vues. A Interroger en priorité pour accéder à une vue rapidementDim gCache As ViewCacheClass ViewCacheEntry m_Db As NotesDatabase m_View As NotesView Function GetView() As NotesView Set GetView = m_View End Function Sub New (Srv As String , DB As String , ViewName As String ) Set m_Db = New NotesDatabase( "" , "" ) If m_Db.OpenWithFailOver( Srv , Db ) Then Set m_View = m_DB.GetView( ViewName ) End If End Sub End ClassClass ViewCache m_Views List As ViewCacheEntry Function GetView(Srv As String , DB As String , ViewName As String) As NotesView Dim Key As String Key = Lcase(srv) + "@" + Lcase( Db ) + "@" +Lcase(ViewName) If Iselement( m_Views(Key) ) Then Else Set m_Views(Key) = New ViewCacheEntry(Srv, Db, ViewName) End If Set GetView = m_Views(Key).GetView() End FunctionEnd ClassFunction DbLookup( DB As NotesDatabase, ViewName As String , Key As Variant , Formula As String) As Variant Dim V As NotesView Dim Doc As NotesDocument Dim Ret As Variant Set V = gCache.GetView(Db.Server, Db.FilePath, ViewName ) Set Doc = V.GetDocumentByKey( Key , True) If Not Doc Is Nothing Then DbLookup = Evaluate ( Formula , Doc ) Else Redim Ret(0) Ret(0) = "" DbLookup = Ret End If End Function