Soyez le premier à donner votre avis sur cette source.
Snippet vu 9 554 fois - Téléchargée 35 fois
Sub wraptext(ByRef strText As String(), ByVal ilen As Integer) ' cette fonction va découper le texte dans le vecteur Declaration: Dim strTest As String() Dim strWork As String() Dim strResult As String(), strMove As String() Dim icount As Integer, i As Integer, j As Integer Debut: On Error GoTo Erreur ReDim strTest(strText.Length) ' ajuste la taille du vecteur de travail à celui reçu strWork = Split(strText(0), " ") ' découpe la chaîne de caractère en autant de mots icount = strWork.GetLength(0) ' récupère le nombre de mots de la chaîne i = 0 j = 0 ReDim strResult(0) ' attention avant de travailler avec un vecteur défini comme (), il faut le dimentionner While i < icount If Len(strWork(i)) + Len(strResult(j)) + 1 <= ilen Then ' calcule si la chaîne construite est plus grande que la limite If Trim(strResult(j)) <> "" Then strResult(j) = strResult(j) & " " & strWork(i) Else ' première fois que la chaîne est construite strResult(j) = strWork(i) End If Else j += 1 ' afin de pouvoir augmenter la taille du vecteur, il faut passer les valeur de celuic-i dans un vecteur de travail, car il est tout bonnement remis à zéro lors du redimentionnement ReDim strMove(j) strResult.CopyTo(strMove, 0) ReDim strResult(j) strMove.CopyTo(strResult, 0) i += -1 ' pas d'incrémentation car le mot suivant doit être repris dans la ligne suivante du vecteur, donc on désincrémente End If i += 1 End While ReDim strText(strResult.Length) strResult.CopyTo(strText, 0) ' n'oubliez pas de vider vos variables strTest = Nothing strWork = Nothing strResult = Nothing strMove = Nothing Fin: Exit Sub Erreur: MsgBox("Error : " & Err.Description & vbNewLine & "Nr : " & Err.Number) Resume Fin End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.