Bonjour à tous,
Toujours sur mon petit projet,
Aujourd'hui encore un souci, j'ai créé un bouton pour exporter les modules d'un fichier, mais quand je déprotège ça marche plus.
Je me suis permit de vous faire une petite vidéo (c'est ma première ), par ce que à l'écrit c'est pas évident pour moi de me faire comprendre.
Voici quelque partie de code en plus de ma première .
Aperçu du prog
et ma première pour vous aidez à mieux comprendre
Toujours sur mon petit projet,
Aujourd'hui encore un souci, j'ai créé un bouton pour exporter les modules d'un fichier, mais quand je déprotège ça marche plus.
Je me suis permit de vous faire une petite vidéo (c'est ma première ), par ce que à l'écrit c'est pas évident pour moi de me faire comprendre.
Voici quelque partie de code en plus de ma première .
VB:
Private Sub Bt1_Click()
Dim Reponse
If Hook = False Then
MsgBox "L'interface VBA est déjà débloquée", , "VBA"
Expor.Visible = True
End If
Lbt1.BackColor = vbGreen
Bbt1.Caption = "Débloqué"
Expor.Visible = True
End Sub
Private Sub Expor_Click()
Dim FileNum As Integer
Dim LineCount As Long
Dim LineText As String
Dim FileName As String
Dim Reponse
Reponse = MsgBox("Souhaitez vous exporter le projet ?", vbYesNo, "Choix d'exportation")
If Reponse = vbNo Then
Exit Sub
ElseIf Reponse = vbYes Then
' Définir le dossier d'exportation
ExportFolder = ActiveWorkbook.Path & "\ExportedModules" & " " & ActiveWorkbook.Name & "\"
' Créer le dossier d'exportation s'il n'existe pas
If Dir(ExportFolder, vbDirectory) = "" Then
MkDir ExportFolder
End If
' Parcourir tous les composants du projet VBA
For Each VBComp In ActiveWorkbook.VBProject.VBComponents
' Ignorer les composants sans code (comme les modules de classe vierges)
If VBComp.CodeModule.CountOfLines <> 0 Then
FileName = ExportFolder & VBComp.Name & ".txt"
FileNum = FreeFile
' Ouvrir le fichier en écriture
Open FileName For Output As FileNum
' Obtenir le module de code
Set CodeMod = VBComp.CodeModule
' Exporter chaque ligne de code
For LineCount = 1 To CodeMod.CountOfLines
LineText = CodeMod.Lines(LineCount, 1)
Print #FileNum, LineText
Next LineCount
' Fermer le fichier
Close FileNum
End If
Next VBComp
Else
MsgBox "Une erreur est survenue"
Exit Sub
End If
MsgBox "Exportation terminée!", vbInformation
Expor.Visible = False
End Sub
Code:
Private Sub UserForm_Initialize()
Dim fc As Worksheet, wb As Workbook, ws As Worksheet, nb As Long, VPC As Object, vbProj As Object
If Not Me.Visible Then OteTitleBarre Me.Caption, False
Me.StartUpPosition = 0: Me.Top = 0: Me.Left = 0
sep1.Height = 1: sep2.Height = 1: version = vers
Textinfo.Visible = False
Expor.Visible = False
Set wb = ActiveWorkbook
Set vbProj = wb.VBProject
If vbProj.Protection = 1 Then
'MsgBox "VBAProject est protégé"
Lbt1.BackColor = vbRed
Bbt1.Caption = "Bloqué"
'Expor.Visible = False
Else
'MsgBox "VBAProject non protégé"
Lbt1.BackColor = vbGreen
Bbt1.Caption = "Débloqué"
'Expor.Visible = True
End If
Aperçu du prog
et ma première pour vous aidez à mieux comprendre