Bonjour Sylvain, le Forum
Je teste...
Option Explicit
Public Sub Creer_Bouton()
Dim CBb As CommandBarButton
On Error Resume Next
Set CBb = Application.CommandBars("Standard").Controls("vb_to_xld")
On Error GoTo 0
If Not CBb Is Nothing Then Exit Sub
With Application.CommandBars("Standard").Controls.Add(msoControlButton)
.Caption = "VBA->XLD"
.TooltipText = "Mise en forme de code pour le forum XLD"
.OnAction = "vb_to_xld"
.FaceId = 1352
.Style = msoButtonIconAndCaption
.BeginGroup = True
End With
End Sub
Public Sub Supprimer_Bouton()
On Error Resume Next
Application.CommandBars("Standard").Controls("VBA->XLD").Delete
On Error GoTo 0
End Sub
Sub vb_to_xld()
Dim cell_code As Range
Dim cellule As Range
Dim trouve_commentaire
For Each cell_code In Selection
'indentation
cell_code.Value = Replace(cell_code.Value, " ", Chr(160) & Chr(160))
'commentaires
cell_code.Value = Replace(cell_code.Value, "'", "'")
trouve_commentaire = 0
On Error Resume Next
trouve_commentaire = Application.WorksheetFunction.Find("'", cell_code.Value)
If trouve_commentaire > 0 Then 'un commentaire sur la ligne
cell_code.Value = cell_code.Value & ""
End If
cell_code.Value = ligne1(cell_code.Value & " ")
Next
Selection.Copy
End Sub
Function ligne1(ligne As String) As String
ligne = Replace(ligne, "Procedure ", "Procedure ")
ligne = Replace(ligne, "Preserve ", "Preserve ")
ligne = Replace(ligne, "Property ", "Property ")
ligne = Replace(ligne, "Nothing ", "Nothing ")
ligne = Replace(ligne, "StrComp ", "StrComp ")
ligne = Replace(ligne, "Assert ", "Assert ")
ligne = Replace(ligne, "ElseIf ", "ElseIf ")
ligne = Replace(ligne, "LBound ", "LBound ")
ligne = Replace(ligne, "Resume ", "Resume ")
ligne = Replace(ligne, "Select ", "Select ")
ligne = Replace(ligne, "Static ", "Static ")
ligne = Replace(ligne, "TypeOf ", "TypeOf ")
ligne = Replace(ligne, "UBound ", "UBound ")
ligne = Replace(ligne, "Output ", "Output ")
ligne = Replace(ligne, "Random ", "Random ")
ligne = Replace(ligne, "Append ", "Append ")
ligne = Replace(ligne, "Binary ", "Binary ")
ligne = Replace(ligne, "Access ", "Access ")
ligne = Replace(ligne, "Shared ", "Shared ")
ligne = Replace(ligne, "CVErr ", "CVErr ")
ligne = Replace(ligne, "CBool ", "CBool ")
ligne = Replace(ligne, "CByte ", "CByte ")
ligne = Replace(ligne, "CDate ", "CDate ")
ligne = Replace(ligne, "Debug ", "Debug ")
ligne = Replace(ligne, "Error ", "Error ")
ligne = Replace(ligne, "Print ", "Print ")
ligne = Replace(ligne, "ReDim ", "ReDim ")
ligne = Replace(ligne, "Until ", "Until ")
ligne = Replace(ligne, "While ", "While ")
ligne = Replace(ligne, "Input ", "Input ")
ligne = Replace(ligne, "Close ", "Close ")
ligne = Replace(ligne, "Write ", "Write ")
ligne = Replace(ligne, "With ", "With ")
ligne = Replace(ligne, "Exit ", "Exit ")
ligne = Replace(ligne, "Each ", "Each ")
ligne = Replace(ligne, "Case ", "Case ")
ligne = Replace(ligne, "CCur ", "CCur ")
ligne = Replace(ligne, "CDbl ", "CDbl ")
ligne = Replace(ligne, "CDec ", "CDec ")
ligne = Replace(ligne, "CInt ", "CInt ")
ligne = Replace(ligne, "CLng ", "CLng ")
ligne = Replace(ligne, "CSng ", "CSng ")
ligne = Replace(ligne, "CStr ", "CStr ")
ligne = Replace(ligne, "CVar ", "CVar ")
ligne = Replace(ligne, "Else ", "Else ")
ligne = Replace(ligne, "GoTo ", "GoTo ")
ligne = Replace(ligne, "Like ", "Like ")
ligne = Replace(ligne, "Loop ", "Loop ")
ligne = Replace(ligne, "Step ", "Step ")
ligne = Replace(ligne, "Then ", "Then ")
ligne = Replace(ligne, "Wend ", "Wend ")
ligne = Replace(ligne, "Open ", "Open ")
ligne = Replace(ligne, "Lock ", "Lock ")
ligne = Replace(ligne, "Read ", "Read ")
ligne = Replace(ligne, "Call ", "Call ")
ligne = Replace(ligne, "End ", "End ")
ligne = Replace(ligne, "For ", "For ")
ligne = Replace(ligne, "Get ", "Get ")
ligne = Replace(ligne, "Let ", "Let ")
ligne = Replace(ligne, "Set ", "Set ")
ligne = Replace(ligne, "Sub ", "Sub ")
ligne = Replace(ligne, "If ", "If ")
ligne = Replace(ligne, "Is ", "Is ")
ligne = Replace(ligne, "To ", "To ")
ligne = Replace(ligne, "On ", "On ")
ligne = Replace(ligne, "Do ", "Do ")
ligne = Replace(ligne, "In ", "In ")
ligne = Replace(ligne, "Or ", "Or ")
ligne = Replace(ligne, "WithEvents ", "WithEvents ")
ligne = Replace(ligne, "Currency ", "Currency ")
ligne = Replace(ligne, "Explicit ", "Explicit ")
ligne = Replace(ligne, "Function ", "Function ")
ligne = Replace(ligne, "Optional ", "Optional ")
ligne = Replace(ligne, "Boolean ", "Boolean ")
ligne = Replace(ligne, "Compare ", "Compare ")
ligne = Replace(ligne, "Declare ", "Declare ")
ligne = Replace(ligne, "Integer ", "Integer ")
ligne = Replace(ligne, "Private ", "Private ")
ligne = Replace(ligne, "Variant ", "Variant ")
ligne = Replace(ligne, "Double ", "Double ")
ligne = Replace(ligne, "Module ", "Module ")
ligne = Replace(ligne, "Object ", "Object ")
ligne = Replace(ligne, "Option ", "Option ")
ligne = Replace(ligne, "Public ", "Public ")
ligne = Replace(ligne, "Single ", "Single ")
ligne = Replace(ligne, "String ", "String ")
ligne = Replace(ligne, "ByRef ", "ByRef ")
ligne = Replace(ligne, "ByVal ", "ByVal ")
ligne = Replace(ligne, "Const ", "Const ")
ligne = Replace(ligne, "Empty ", "Empty ")
ligne = Replace(ligne, "False ", "False ")
ligne = Replace(ligne, "Type ", "Type ")
ligne = Replace(ligne, "Base ", "Base ")
ligne = Replace(ligne, "Byte ", "Byte ")
ligne = Replace(ligne, "Date ", "Date ")
ligne = Replace(ligne, "Long ", "Long ")
ligne = Replace(ligne, "Enum ", "Enum ")
ligne = Replace(ligne, "Next ", "Next ")
ligne = Replace(ligne, "Null ", "Null ")
ligne = Replace(ligne, "Text ", "Text ")
ligne = Replace(ligne, "True ", "True ")
ligne = Replace(ligne, "Dim ", "Dim ")
ligne = Replace(ligne, "Lib ", "Lib ")
ligne = Replace(ligne, "New ", "New ")
ligne = Replace(ligne, "As ", "As ")
ligne = Replace(ligne, "Not ", "Not ")
ligne1 = ligne
End Function
Je reviens voir...
@+Thierry