Bonjour,
Voici donc quelques observations et quelques variantes :-)
Sub ExportCodeMod()
' Dimension variables
Dim strCode As String, vbCom As VBComponent
Dim modObj As Object, modObj1 As Object
Dim vbCom1 As VBComponent, iNumFeuil As Integer
Dim CheminFichier As String
' Copie des macros de la feuille 6
With Application.VBE.ActiveVBProject
' Sélectionner l'objet (le module) que vous vouler exporter.
Set modObj1 = .VBComponents.Item("Feuil6")
' Place le code dans une variable "string" (chaîne).
strCode1 = modObj1.CodeModule.Lines(1, modObj1.CodeModule.CountOfLines)
' Copie des macros du module 3
' Sélectionner l'objet (le module) que vous vouler exporter.
Set modObj = .VBComponents.Item("Module3")
' Place le code dans une variable "string" (chaîne).
strCode = modObj.CodeModule.Lines(1, modObj.CodeModule.CountOfLines)
End With
' Donne le chemin actuel
vRépertoireActuelle = ThisWorkbook.Path
' Donne le nom de la feuille active actuelle
vFeuilActuelle = ActiveSheet.Name
' Déplace la feuille Actuelle active
Sheets(vFeuilActuelle).Move
' Cherche le numéro de la feuille
For i = 1 To 2
If Left(ActiveWorkbook.VBProject.VBComponents(i).Name, 5) = "Feuil" Then
iNumFeuil = i
End If
Next i
With Application.VBE.ActiveVBProject
' Ajoute le code à la "FeuilX" en provenance de la variable.
.VBComponents(1).CodeModule.AddFromString (strCode1)
' Création d'un nouveau module VBA dans le classeur actif.
.VBComponents.Add (vbext_ct_StdModule)
' Add code to new module from string variable.
.VBComponents.Item("Module1").CodeModule.AddFromString (strCode)
End With
' Sauvegarde le nouveau fichier
CheminFichier = vRépertoireActuelle & "\Planning semaine\" & vFeuilActuelle
ActiveWorkbook.SaveAs Filename:=CheminFichier
End Sub
'
je ne comprends pas la suite d'instruction :
Sheets(vFeuilActuelle).Move
' Add code to sheet(2) from string variable.
' Cherche le numéro de la feuille
For i = 1 To 2
il me semble qu'il manque des paramètres à l'instruction [Move].
genre : [ Sheets("Feuil1").Move After:=Sheets(2) ]
Cordialement
Lupin