par Oguruma59 » 12 Jan 2004 à 15:35
bon voici un début de code que tu pourras personnalisé, je vien de le faire j'y pas passé bcp de temps, c'est comme le champ, du brut !bien après avoir créé le champ steGroups dans l'onglet messagerie..voici le code à implémenterà toi de jouer, l'essentiel y est !@@+Sub Querysave(Source As Notesuidocument, Continue As Variant) Dim doc As NotesDocument Dim profile As NotesDocument Set doc = Source.Document '---- détection si un groupe est saisi If doc.fullname(0)<>"" Then If doc.steGroups(0)<>"" Then Print "Saisie d'un nom de groupe détectée" If Not (steAddMembers(source)) Then Continue=False Exit Sub Else doc.steGroups="" Print "Mise à jour des groupes terminée" End If End If Else Messagebox "Le nom est incomplet",16 Continue=False Exit Sub End If Set profile=doc.ParentDatabase.GetProfileDocument("PublicDirectoryProfile") If profile.GetItemValue("SecureInetPasswords")(0)="1" Then Call doc.ReplaceItemValue("$SecurePassword","1") End IfEnd Subet la fonction à implémenter en globalFunction steAddMembers (source As NotesUIDocument) As Integer On Error Goto errHandle Dim viewGroups As NotesView Dim session As notessession Dim nn As NotesName Dim doc As NotesDocument Dim docGroups As NotesDocument Dim db As NotesDatabase Dim item As NotesItem Set session=New notessession Set doc=source.Document Set db=session.currentdatabase Set viewGroups=db.GetView("Groups") Forall m In doc.steGroups Print "Ajout dans le groupe ";m;" en cours" Set docGroups=viewGroups.getDocumentByKey(m) If Not (docGroups Is Nothing) Then '--- mise à jour du jour Set item=docGroups.GetFirstItem("Members") If Not item.contains(doc.fullname(0)) Then '--- on ajout l'utilisateur dans le groupe Call item.AppendToTextList( doc.fullname(0) ) Call docGroups.save(True,False) Print "Le groupe ";m;" a été mis à jour" Else '--- déjà là ! Print "cet utilisateur (";doc.fullname(0);" est déjà dans le groupe ";m End If Else '--- le groupe est inconuu ! Print "Le groupe "; m ; " ne figure plus dans le carnet d'adresses" End If End Forall steAddMembers=True Exit FunctionerrHandle: Messagebox "Erreur n ° " & Err & " - " & Error$,16,"steAddMembers" steAddMembers=False Resume finfin:End Function