par Mike M » 31 Mars 2003 à 14:25
ta question est un peu flou, disons que moi j'ai eu le pb pour recuperer les données d'une requete et la mettre en page dans un tableau dans un sous masque.j'ai donc dans un masque cree un tableau de 2 lignes, 1 pour les libelles, l'autre pour les données. dans la 2eme ligne j'ai utilise une police a taille fixe (afin de connaitre le nombre exacte de lettre par ligne, dans mon ex 28).exemple de plusieurs lignes et 2 colonnesDans un script, je fais la mise en page :1) savoir sur une ligne, laquelle colonne contient le plus de lettre et determine le nombre de ligne qu'elle va prendre :Function nbreDeLigne(var1 As String, var2 As String) As Integer Dim var As String Dim nb As Single If Len(var1) > Len(var2) Then var = var1 Else var=var2 End If Select Case Len(var)/28 Case Is <=1:nb=0 Case Is <= 2:nb=1 Case Is <= 3:nb=2 Case Is <= 4:nb=3 Case Is <= 5:nb=4 Case Is <= 6:nb=5 Case Is <= 7:nb=6 Case Is <= 8:nb=7 Case Is <= 9:nb=8 Case Is <= 10:nb=9 Case Else:nb=10 End Select nbreDeLigne = nbEnd Function2) mise en page pour chaque colonneFunction miseEnForme(var As String, nbreLigne As Integer) As String Dim nb As Single nb = Len(var)/28 Select Case nb Case Is <=1:nb=0 Case Is <= 2:nb=1 Case Is <= 3:nb=2 Case Is <= 4:nb=3 Case Is <= 5:nb=4 Case Is <= 6:nb=5 Case Is <= 7:nb=6 Case Is <= 8:nb=7 Case Is <= 9:nb=8 Case Is <= 10:nb=9 Case Else:nb=10 End Select For j=0To nbreLigne-nb+1 var = var + Chr$(13) Next miseEnForme = varEnd Functionquand au pg principal If doc.GetFirstItem("COMPACT_Exec_3").Contains( nomExecutant ) And Isdate(doc.COMPACT_DateAssign_3(0)) And Not Isdate(doc.COMPACT_DateExec_3(0)) Then nb = nbreDeLigne(doc.COMPACT_RaisonSociale(0),doc.COMPACT_Tache_3(0)) varSociete = varSociete + miseEnForme(doc.COMPACT_RaisonSociale(0),nb) varTache = varTache + miseEnForme(doc.COMPACT_Tache_3(0),nb) varDateAssign = varDateAssign + miseEnForme(Cstr(doc.COMPACT_DateAssign_3(0)),nb) varDateExec = varDateExec + miseEnForme(Cstr(doc.COMPACT_DateExec_3(0)),nb) End If docRes.Form = "RES" Set nameExecutant = New NotesName(nomExecutant) docRes.REQ_Res_Executant=nameExecutant.common docRes.REQ_Res_Societe=varSociete docRes.REQ_Res_Tache=varTache docRes.REQ_Res_DateAssign=varDateAssign docRes.REQ_Res_DateExec=varDateExec Call uiwk.DialogBox("RES", True, False, True, True, True, True, "Résultat de la requête par exécutant", docRes,True,True)je sais c'est de la bidouille.je ne suis pas sur d'avoir ete bien clair.