|
|
|
|
Bonjour,
Voilà mon problème:
J'ai déplacé une feuille Excel dans un nouveau fichier. Ceci avec ce code en VBA:
Private Sub DéplacementFeuillePlannig()
' 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
' Sauvegarde le nouveau fichier
ActiveWorkbook.SaveAs Filename:=vRépertoireActuelle & "\Planning semaine\" & vFeuilActuelle
End Sub
Ce dont j'aimerai encore c'est inclure dans mon déplacement une partie des macros qui se trouve dans le répertoires MODULES du projet (VBAPROJET)NOmDuFichier.xls)) de mon fichier source.
Merci d'avance.
ppil
Configuration: Windows XP Internet Explorer 6.0 Excel 2003
Bonjour Eric,
|
Merci Eric,
|
Bonjour,
|
Bonsoir,
|
Bonjour,
|
Bonjour,
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 |