Accueil > > > FORMATER UN PARAGRAPHE ENTRE DEUX MARGES (DROITE ET GAUCHE).
FORMATER UN PARAGRAPHE ENTRE DEUX MARGES (DROITE ET GAUCHE).
Information sur la source
Description
(basée sur la fonction du superbe logiciel UltraEdit) Utilisez cette fonction pour formater un texte donné à la limite des numéros de colonne spécifiés. Un paragraphe est déterminé par deux fins de lignes existantes en dur dans le texte (par ex. une ligne vide). Cette fonction demande la présence de la fonction VBA6 : Replace(), que j'ai également mis sur ce site.
Source
- ' ----------------------------------------------------------------------------
- ' Description
- ' Utilisez cette fonction pour formater un texte donné à la limite des
- ' numéros de colonne spécifiés. Un paragraphe est déterminé par deux fins
- ' de lignes existantes en dur dans le texte (par ex. une ligne vide).
- '
- ' Syntaxe
- ' Formater_Paragraphe(Expression [, MarginRight[, MarginLeft]])
- '
- ' Expression
- ' Expression de chaîne contenant des paragraphes à formater.
- ' MarginLeft (Facultatif)
- ' Cette option spécifie la marge de gauche qui doit être utilisée lorsque
- ' le paragraphe est reformaté. Elle représente le premier numéro de
- ' colonne (les numéros de colonne commencent à 1) où un texte peut
- ' commencer. La position 1 est prise par défaut.
- ' MarginRight (Facultatif)
- ' Cette option spécifie la marge de droite qui doit être utilisée lorsque
- ' le paragraphe est reformaté. Elle représente le dernier numéro de
- ' colonne (les numéros de colonne commencent à 1) où un texte peut encore
- ' être placé. La position 80 est prise par défaut.
- '
- ' Version: 1.0 - 30/07/2002
- ' Auteur : Bigane@tiscalinet.ch
- ' ----------------------------------------------------------------------------
- Public Function Formater_Paragraphe( _
- ByVal Expression As String, _
- Optional ByVal MarginLeft As Long = 1, _
- Optional ByVal MarginRight As Long = 80) As String
-
- Dim lngLastSpace As Long
- Dim lngNextSpace As Long
- Dim lngLastCr As Long
- Dim lngNextCr As Long
- Dim lngLength As Long
- Dim strMargin As String
- Dim strCrLf As String
- Dim lngLenCrLf As Long
-
- Const vbSpace As String = " "
-
- If (MarginLeft > 0) And (MarginRight > MarginLeft) Then
-
- lngLength = MarginRight - MarginLeft + 3
- strMargin = Space$(MarginLeft - 1)
- strCrLf = vbSpace & vbCrLf & strMargin
- lngLenCrLf = Len(strCrLf)
- Expression = strMargin & LTrim$(Expression)
- Expression = Replace(Expression, vbCrLf & vbCrLf, vbLf & vbCr)
- Expression = Replace(Expression, vbCrLf, vbSpace)
- Expression = Replace(Expression, vbLf & vbCr, vbCrLf & strMargin)
-
- lngNextSpace = InStr(1, Expression, vbSpace)
- If lngNextSpace Then
- lngLastCr = 1
- lngNextCr = InStr(1, Expression, vbCr)
-
- Do
- lngLastSpace = lngNextSpace
- lngNextSpace = InStr(lngNextSpace + 1, Expression, vbSpace)
- Do While (lngNextCr <> 0) And (lngNextCr < lngNextSpace)
- lngLastCr = lngNextCr
- lngNextCr = InStr(lngNextCr + 1, Expression, vbCr)
- Loop
-
- If lngNextSpace = 0 Then
- lngNextSpace = lngLastSpace
- End If
-
- ' Si dépassement, insertion d'un crlf au dernier espace valide
- If lngNextSpace - lngLastCr > lngLength Then
- Expression = Replace(Expression, vbSpace, strCrLf, lngLastSpace, 1)
- lngNextSpace = lngNextSpace + lngLenCrLf
- lngLastCr = lngLastSpace + lngLenCrLf
- End If
-
- 'Poursuivre la recherche
- lngNextCr = InStr(lngLastSpace, Expression, vbCr)
- Loop While lngNextSpace > lngLastSpace
-
- End If
- End If
- Formater_Paragraphe = Expression
-
- End Function
-
' ----------------------------------------------------------------------------
' Description
' Utilisez cette fonction pour formater un texte donné à la limite des
' numéros de colonne spécifiés. Un paragraphe est déterminé par deux fins
' de lignes existantes en dur dans le texte (par ex. une ligne vide).
'
' Syntaxe
' Formater_Paragraphe(Expression [, MarginRight[, MarginLeft]])
'
' Expression
' Expression de chaîne contenant des paragraphes à formater.
' MarginLeft (Facultatif)
' Cette option spécifie la marge de gauche qui doit être utilisée lorsque
' le paragraphe est reformaté. Elle représente le premier numéro de
' colonne (les numéros de colonne commencent à 1) où un texte peut
' commencer. La position 1 est prise par défaut.
' MarginRight (Facultatif)
' Cette option spécifie la marge de droite qui doit être utilisée lorsque
' le paragraphe est reformaté. Elle représente le dernier numéro de
' colonne (les numéros de colonne commencent à 1) où un texte peut encore
' être placé. La position 80 est prise par défaut.
'
' Version: 1.0 - 30/07/2002
' Auteur : Bigane@tiscalinet.ch
' ----------------------------------------------------------------------------
Public Function Formater_Paragraphe( _
ByVal Expression As String, _
Optional ByVal MarginLeft As Long = 1, _
Optional ByVal MarginRight As Long = 80) As String
Dim lngLastSpace As Long
Dim lngNextSpace As Long
Dim lngLastCr As Long
Dim lngNextCr As Long
Dim lngLength As Long
Dim strMargin As String
Dim strCrLf As String
Dim lngLenCrLf As Long
Const vbSpace As String = " "
If (MarginLeft > 0) And (MarginRight > MarginLeft) Then
lngLength = MarginRight - MarginLeft + 3
strMargin = Space$(MarginLeft - 1)
strCrLf = vbSpace & vbCrLf & strMargin
lngLenCrLf = Len(strCrLf)
Expression = strMargin & LTrim$(Expression)
Expression = Replace(Expression, vbCrLf & vbCrLf, vbLf & vbCr)
Expression = Replace(Expression, vbCrLf, vbSpace)
Expression = Replace(Expression, vbLf & vbCr, vbCrLf & strMargin)
lngNextSpace = InStr(1, Expression, vbSpace)
If lngNextSpace Then
lngLastCr = 1
lngNextCr = InStr(1, Expression, vbCr)
Do
lngLastSpace = lngNextSpace
lngNextSpace = InStr(lngNextSpace + 1, Expression, vbSpace)
Do While (lngNextCr <> 0) And (lngNextCr < lngNextSpace)
lngLastCr = lngNextCr
lngNextCr = InStr(lngNextCr + 1, Expression, vbCr)
Loop
If lngNextSpace = 0 Then
lngNextSpace = lngLastSpace
End If
' Si dépassement, insertion d'un crlf au dernier espace valide
If lngNextSpace - lngLastCr > lngLength Then
Expression = Replace(Expression, vbSpace, strCrLf, lngLastSpace, 1)
lngNextSpace = lngNextSpace + lngLenCrLf
lngLastCr = lngLastSpace + lngLenCrLf
End If
'Poursuivre la recherche
lngNextCr = InStr(lngLastSpace, Expression, vbCr)
Loop While lngNextSpace > lngLastSpace
End If
End If
Formater_Paragraphe = Expression
End Function
Conclusion
Historiques : 30/07/2002: ajout du type de la fonction : As String
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg [MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|