Bonsoir Philou,
Essaie ceci en prenant soin de bien indiquer les classeurs :
Sub CopieProc()
Dim LeTexte As String
With ThisWorkbook.VBProject.VBComponents _
("ThisWorkbook").CodeModule
If .CountOfLines > 0 Then
LeTexte = .Lines(1, .CountOfLines)
End If
End With
If LeTexte <> "" Then
With Workbooks("Classeur2.xls").VBProject. _
VBComponents("ThisWorkbook").CodeModule
.AddFromString LeTexte
End With
End If
End Sub
Salutations!
"Philou" a écrit dans le message de news:
Bonjour,
Je cherche à copier grace à VBA les macro contenues dans ThisWorkBook d'un
classeur sur le ThisWorkBook d'un autre classeur.
Les macros du genre Workbook_Open.....Workbook_SheetActivate.
Quelqu'un aurait-il une idée pour effectuer cette opération simplement car
je ne suis pas un pro de la programmation.
Merci !
Bonsoir Philou,
Essaie ceci en prenant soin de bien indiquer les classeurs :
Sub CopieProc()
Dim LeTexte As String
With ThisWorkbook.VBProject.VBComponents _
("ThisWorkbook").CodeModule
If .CountOfLines > 0 Then
LeTexte = .Lines(1, .CountOfLines)
End If
End With
If LeTexte <> "" Then
With Workbooks("Classeur2.xls").VBProject. _
VBComponents("ThisWorkbook").CodeModule
.AddFromString LeTexte
End With
End If
End Sub
Salutations!
"Philou" <philippe.blancon@free.fr> a écrit dans le message de news:
OPgOeX4wEHA.3844@TK2MSFTNGP09.phx.gbl...
Bonjour,
Je cherche à copier grace à VBA les macro contenues dans ThisWorkBook d'un
classeur sur le ThisWorkBook d'un autre classeur.
Les macros du genre Workbook_Open.....Workbook_SheetActivate.
Quelqu'un aurait-il une idée pour effectuer cette opération simplement car
je ne suis pas un pro de la programmation.
Merci !
Bonsoir Philou,
Essaie ceci en prenant soin de bien indiquer les classeurs :
Sub CopieProc()
Dim LeTexte As String
With ThisWorkbook.VBProject.VBComponents _
("ThisWorkbook").CodeModule
If .CountOfLines > 0 Then
LeTexte = .Lines(1, .CountOfLines)
End If
End With
If LeTexte <> "" Then
With Workbooks("Classeur2.xls").VBProject. _
VBComponents("ThisWorkbook").CodeModule
.AddFromString LeTexte
End With
End If
End Sub
Salutations!
"Philou" a écrit dans le message de news:
Bonjour,
Je cherche à copier grace à VBA les macro contenues dans ThisWorkBook d'un
classeur sur le ThisWorkBook d'un autre classeur.
Les macros du genre Workbook_Open.....Workbook_SheetActivate.
Quelqu'un aurait-il une idée pour effectuer cette opération simplement car
je ne suis pas un pro de la programmation.
Merci !
Bonsoir Philou,
Essaie ceci en prenant soin de bien indiquer les classeurs :
Sub CopieProc()
Dim LeTexte As String
With ThisWorkbook.VBProject.VBComponents _
("ThisWorkbook").CodeModule
If .CountOfLines > 0 Then
LeTexte = .Lines(1, .CountOfLines)
End If
End With
If LeTexte <> "" Then
With Workbooks("Classeur2.xls").VBProject. _
VBComponents("ThisWorkbook").CodeModule
.AddFromString LeTexte
End With
End If
End Sub
Salutations!
"Philou" a écrit dans le message de news:
Bonjour,
Je cherche à copier grace à VBA les macro contenues dans ThisWorkBook d'un
classeur sur le ThisWorkBook d'un autre classeur.
Les macros du genre Workbook_Open.....Workbook_SheetActivate.
Quelqu'un aurait-il une idée pour effectuer cette opération simplement car
je ne suis pas un pro de la programmation.
Merci !
Bonsoir Philou,
Essaie ceci en prenant soin de bien indiquer les classeurs :
Sub CopieProc()
Dim LeTexte As String
With ThisWorkbook.VBProject.VBComponents _
("ThisWorkbook").CodeModule
If .CountOfLines > 0 Then
LeTexte = .Lines(1, .CountOfLines)
End If
End With
If LeTexte <> "" Then
With Workbooks("Classeur2.xls").VBProject. _
VBComponents("ThisWorkbook").CodeModule
.AddFromString LeTexte
End With
End If
End Sub
Salutations!
"Philou" <philippe.blancon@free.fr> a écrit dans le message de news:
OPgOeX4wEHA.3844@TK2MSFTNGP09.phx.gbl...
Bonjour,
Je cherche à copier grace à VBA les macro contenues dans ThisWorkBook d'un
classeur sur le ThisWorkBook d'un autre classeur.
Les macros du genre Workbook_Open.....Workbook_SheetActivate.
Quelqu'un aurait-il une idée pour effectuer cette opération simplement car
je ne suis pas un pro de la programmation.
Merci !
Bonsoir Philou,
Essaie ceci en prenant soin de bien indiquer les classeurs :
Sub CopieProc()
Dim LeTexte As String
With ThisWorkbook.VBProject.VBComponents _
("ThisWorkbook").CodeModule
If .CountOfLines > 0 Then
LeTexte = .Lines(1, .CountOfLines)
End If
End With
If LeTexte <> "" Then
With Workbooks("Classeur2.xls").VBProject. _
VBComponents("ThisWorkbook").CodeModule
.AddFromString LeTexte
End With
End If
End Sub
Salutations!
"Philou" a écrit dans le message de news:
Bonjour,
Je cherche à copier grace à VBA les macro contenues dans ThisWorkBook d'un
classeur sur le ThisWorkBook d'un autre classeur.
Les macros du genre Workbook_Open.....Workbook_SheetActivate.
Quelqu'un aurait-il une idée pour effectuer cette opération simplement car
je ne suis pas un pro de la programmation.
Merci !
Bonsoir Philou,
Essaie ceci en prenant soin de bien indiquer les classeurs :
Sub CopieProc()
Dim LeTexte As String
With ThisWorkbook.VBProject.VBComponents _
("ThisWorkbook").CodeModule
If .CountOfLines > 0 Then
LeTexte = .Lines(1, .CountOfLines)
End If
End With
If LeTexte <> "" Then
With Workbooks("Classeur2.xls").VBProject. _
VBComponents("ThisWorkbook").CodeModule
.AddFromString LeTexte
End With
End If
End Sub
Salutations!
"Philou" a écrit dans le message de news:
Bonjour,
Je cherche à copier grace à VBA les macro contenues dans ThisWorkBook d'un
classeur sur le ThisWorkBook d'un autre classeur.
Les macros du genre Workbook_Open.....Workbook_SheetActivate.
Quelqu'un aurait-il une idée pour effectuer cette opération simplement car
je ne suis pas un pro de la programmation.
Merci !
Bonsoir Philou,
Essaie ceci en prenant soin de bien indiquer les classeurs :
Sub CopieProc()
Dim LeTexte As String
With ThisWorkbook.VBProject.VBComponents _
("ThisWorkbook").CodeModule
If .CountOfLines > 0 Then
LeTexte = .Lines(1, .CountOfLines)
End If
End With
If LeTexte <> "" Then
With Workbooks("Classeur2.xls").VBProject. _
VBComponents("ThisWorkbook").CodeModule
.AddFromString LeTexte
End With
End If
End Sub
Salutations!
"Philou" <philippe.blancon@free.fr> a écrit dans le message de news:
OPgOeX4wEHA.3844@TK2MSFTNGP09.phx.gbl...
Bonjour,
Je cherche à copier grace à VBA les macro contenues dans ThisWorkBook d'un
classeur sur le ThisWorkBook d'un autre classeur.
Les macros du genre Workbook_Open.....Workbook_SheetActivate.
Quelqu'un aurait-il une idée pour effectuer cette opération simplement car
je ne suis pas un pro de la programmation.
Merci !
Bonsoir Philou,
Essaie ceci en prenant soin de bien indiquer les classeurs :
Sub CopieProc()
Dim LeTexte As String
With ThisWorkbook.VBProject.VBComponents _
("ThisWorkbook").CodeModule
If .CountOfLines > 0 Then
LeTexte = .Lines(1, .CountOfLines)
End If
End With
If LeTexte <> "" Then
With Workbooks("Classeur2.xls").VBProject. _
VBComponents("ThisWorkbook").CodeModule
.AddFromString LeTexte
End With
End If
End Sub
Salutations!
"Philou" a écrit dans le message de news:
Bonjour,
Je cherche à copier grace à VBA les macro contenues dans ThisWorkBook d'un
classeur sur le ThisWorkBook d'un autre classeur.
Les macros du genre Workbook_Open.....Workbook_SheetActivate.
Quelqu'un aurait-il une idée pour effectuer cette opération simplement car
je ne suis pas un pro de la programmation.
Merci !
Bonjour Philou,
Il y a plusieurs façons d'effectuer cette tâche... je t'offre une solution
versatile que tu utiliser pour modifier un
effectuer une substitution d'un mot ou d'une ligne de code dans le module
de ton choix et la procédure que tu auras
choisi.
Tu exécutes la procédure "RemplacerLigne()" en prenant bien soin de
renseigner les paramètres de la ligne de code
"RemplacerLigne" .... Cette ligne de code peut être insérer à l'intérieur
du cheminement de n'importe quelle procédure.
Attention : Lorsque l'on utilise une procédure de "Rechercher / Remplacer"
, l'expression à rechercher doit être à ce
point spécifique pour que la procédure ne puisse modifier des expressions
ou lignes de code qui ne seraient pas voulues
!
À mettre dans un module standard
'-------------------------
Sub RemplacerLigneDansProcédure()
'A ) Thisworkbook : Tu peux remplacer par le nom du module
'que tu désires ...
'B ) Workbook_Open : Nom de la procédure qui peut être
'remplacer par la procédure de ton choix
'C ) "Tito" : L'expression ou la ligne de code à remplacer
'D ) "Toto" : La nouvelle expression ou ligne de code
RemplacerLigne "ThisWorkbook", "Workbook_Open", "Tata", "Toto"
End Sub
'-------------------------
'Procédure à mettre dans un module standard.
'-------------------------------------
Sub RemplacerLigne(NomModule As String, NomSub As String, _
ChaineRecherchée As String, ChaineRemplace As String)
Dim A As Integer, Trouver As String
Dim LigneDuDébut As Integer
Dim NbLignesDeLaSub As Integer
Dim LastLineSub As Integer
With ThisWorkbook.VBProject.VBComponents(NomModule).codemodule
LigneDuDébut = .ProcStartLine("Workbook_Open", 0)
NbLignesDeLaSub = .ProcCountLines("Workbook_Open", 0)
LastLineSub = LigneDuDébut + NbLignesDeLaSub
For A = LigneDuDébut To LastLineSub
Trouver = InStr(.Lines(A, 1), ChaineRecherchée)
If Trouver <> 0 Then
.ReplaceLine A, Left(.Lines(A, 1) _
, Trouver - 1) & ChaineRemplace & _
Mid(.Lines(A, 1), Trouver + Len(ChaineRecherchée) _
, Len(.Lines(A, 1)))
End If
Next
End With
End Sub
'-------------------------------------
Salutations!
"Philou" a écrit dans le message de news:
Merci pour ton code qui fonctionne à merveille.
Peux tu me donner un renseignement suplémentaire ?
Une fois toutes les macros copiées sur le nouveau classeur, si je veux
supprimer ou modifier dans ce nouveau classeur à l'aide de VBA la macro
Workbook_Open() par exemple, comment dois-je faire ?
"michdenis" a écrit dans le message de news:Bonsoir Philou,
Essaie ceci en prenant soin de bien indiquer les classeurs :
Sub CopieProc()
Dim LeTexte As String
With ThisWorkbook.VBProject.VBComponents _
("ThisWorkbook").CodeModule
If .CountOfLines > 0 Then
LeTexte = .Lines(1, .CountOfLines)
End If
End With
If LeTexte <> "" Then
With Workbooks("Classeur2.xls").VBProject. _
VBComponents("ThisWorkbook").CodeModule
.AddFromString LeTexte
End With
End If
End Sub
Salutations!
"Philou" a écrit dans le message de news:Bonjour,
Je cherche à copier grace à VBA les macro contenues dans ThisWorkBook
d'un
classeur sur le ThisWorkBook d'un autre classeur.
Les macros du genre Workbook_Open.....Workbook_SheetActivate.
Quelqu'un aurait-il une idée pour effectuer cette opération simplement
car
je ne suis pas un pro de la programmation.
Merci !
Bonjour Philou,
Il y a plusieurs façons d'effectuer cette tâche... je t'offre une solution
versatile que tu utiliser pour modifier un
effectuer une substitution d'un mot ou d'une ligne de code dans le module
de ton choix et la procédure que tu auras
choisi.
Tu exécutes la procédure "RemplacerLigne()" en prenant bien soin de
renseigner les paramètres de la ligne de code
"RemplacerLigne" .... Cette ligne de code peut être insérer à l'intérieur
du cheminement de n'importe quelle procédure.
Attention : Lorsque l'on utilise une procédure de "Rechercher / Remplacer"
, l'expression à rechercher doit être à ce
point spécifique pour que la procédure ne puisse modifier des expressions
ou lignes de code qui ne seraient pas voulues
!
À mettre dans un module standard
'-------------------------
Sub RemplacerLigneDansProcédure()
'A ) Thisworkbook : Tu peux remplacer par le nom du module
'que tu désires ...
'B ) Workbook_Open : Nom de la procédure qui peut être
'remplacer par la procédure de ton choix
'C ) "Tito" : L'expression ou la ligne de code à remplacer
'D ) "Toto" : La nouvelle expression ou ligne de code
RemplacerLigne "ThisWorkbook", "Workbook_Open", "Tata", "Toto"
End Sub
'-------------------------
'Procédure à mettre dans un module standard.
'-------------------------------------
Sub RemplacerLigne(NomModule As String, NomSub As String, _
ChaineRecherchée As String, ChaineRemplace As String)
Dim A As Integer, Trouver As String
Dim LigneDuDébut As Integer
Dim NbLignesDeLaSub As Integer
Dim LastLineSub As Integer
With ThisWorkbook.VBProject.VBComponents(NomModule).codemodule
LigneDuDébut = .ProcStartLine("Workbook_Open", 0)
NbLignesDeLaSub = .ProcCountLines("Workbook_Open", 0)
LastLineSub = LigneDuDébut + NbLignesDeLaSub
For A = LigneDuDébut To LastLineSub
Trouver = InStr(.Lines(A, 1), ChaineRecherchée)
If Trouver <> 0 Then
.ReplaceLine A, Left(.Lines(A, 1) _
, Trouver - 1) & ChaineRemplace & _
Mid(.Lines(A, 1), Trouver + Len(ChaineRecherchée) _
, Len(.Lines(A, 1)))
End If
Next
End With
End Sub
'-------------------------------------
Salutations!
"Philou" <philippe.blancon@free.fr> a écrit dans le message de news:
uRfQXr9wEHA.3416@TK2MSFTNGP09.phx.gbl...
Merci pour ton code qui fonctionne à merveille.
Peux tu me donner un renseignement suplémentaire ?
Une fois toutes les macros copiées sur le nouveau classeur, si je veux
supprimer ou modifier dans ce nouveau classeur à l'aide de VBA la macro
Workbook_Open() par exemple, comment dois-je faire ?
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
eRU7Dm4wEHA.3612@tk2msftngp13.phx.gbl...
Bonsoir Philou,
Essaie ceci en prenant soin de bien indiquer les classeurs :
Sub CopieProc()
Dim LeTexte As String
With ThisWorkbook.VBProject.VBComponents _
("ThisWorkbook").CodeModule
If .CountOfLines > 0 Then
LeTexte = .Lines(1, .CountOfLines)
End If
End With
If LeTexte <> "" Then
With Workbooks("Classeur2.xls").VBProject. _
VBComponents("ThisWorkbook").CodeModule
.AddFromString LeTexte
End With
End If
End Sub
Salutations!
"Philou" <philippe.blancon@free.fr> a écrit dans le message de news:
OPgOeX4wEHA.3844@TK2MSFTNGP09.phx.gbl...
Bonjour,
Je cherche à copier grace à VBA les macro contenues dans ThisWorkBook
d'un
classeur sur le ThisWorkBook d'un autre classeur.
Les macros du genre Workbook_Open.....Workbook_SheetActivate.
Quelqu'un aurait-il une idée pour effectuer cette opération simplement
car
je ne suis pas un pro de la programmation.
Merci !
Bonjour Philou,
Il y a plusieurs façons d'effectuer cette tâche... je t'offre une solution
versatile que tu utiliser pour modifier un
effectuer une substitution d'un mot ou d'une ligne de code dans le module
de ton choix et la procédure que tu auras
choisi.
Tu exécutes la procédure "RemplacerLigne()" en prenant bien soin de
renseigner les paramètres de la ligne de code
"RemplacerLigne" .... Cette ligne de code peut être insérer à l'intérieur
du cheminement de n'importe quelle procédure.
Attention : Lorsque l'on utilise une procédure de "Rechercher / Remplacer"
, l'expression à rechercher doit être à ce
point spécifique pour que la procédure ne puisse modifier des expressions
ou lignes de code qui ne seraient pas voulues
!
À mettre dans un module standard
'-------------------------
Sub RemplacerLigneDansProcédure()
'A ) Thisworkbook : Tu peux remplacer par le nom du module
'que tu désires ...
'B ) Workbook_Open : Nom de la procédure qui peut être
'remplacer par la procédure de ton choix
'C ) "Tito" : L'expression ou la ligne de code à remplacer
'D ) "Toto" : La nouvelle expression ou ligne de code
RemplacerLigne "ThisWorkbook", "Workbook_Open", "Tata", "Toto"
End Sub
'-------------------------
'Procédure à mettre dans un module standard.
'-------------------------------------
Sub RemplacerLigne(NomModule As String, NomSub As String, _
ChaineRecherchée As String, ChaineRemplace As String)
Dim A As Integer, Trouver As String
Dim LigneDuDébut As Integer
Dim NbLignesDeLaSub As Integer
Dim LastLineSub As Integer
With ThisWorkbook.VBProject.VBComponents(NomModule).codemodule
LigneDuDébut = .ProcStartLine("Workbook_Open", 0)
NbLignesDeLaSub = .ProcCountLines("Workbook_Open", 0)
LastLineSub = LigneDuDébut + NbLignesDeLaSub
For A = LigneDuDébut To LastLineSub
Trouver = InStr(.Lines(A, 1), ChaineRecherchée)
If Trouver <> 0 Then
.ReplaceLine A, Left(.Lines(A, 1) _
, Trouver - 1) & ChaineRemplace & _
Mid(.Lines(A, 1), Trouver + Len(ChaineRecherchée) _
, Len(.Lines(A, 1)))
End If
Next
End With
End Sub
'-------------------------------------
Salutations!
"Philou" a écrit dans le message de news:
Merci pour ton code qui fonctionne à merveille.
Peux tu me donner un renseignement suplémentaire ?
Une fois toutes les macros copiées sur le nouveau classeur, si je veux
supprimer ou modifier dans ce nouveau classeur à l'aide de VBA la macro
Workbook_Open() par exemple, comment dois-je faire ?
"michdenis" a écrit dans le message de news:Bonsoir Philou,
Essaie ceci en prenant soin de bien indiquer les classeurs :
Sub CopieProc()
Dim LeTexte As String
With ThisWorkbook.VBProject.VBComponents _
("ThisWorkbook").CodeModule
If .CountOfLines > 0 Then
LeTexte = .Lines(1, .CountOfLines)
End If
End With
If LeTexte <> "" Then
With Workbooks("Classeur2.xls").VBProject. _
VBComponents("ThisWorkbook").CodeModule
.AddFromString LeTexte
End With
End If
End Sub
Salutations!
"Philou" a écrit dans le message de news:Bonjour,
Je cherche à copier grace à VBA les macro contenues dans ThisWorkBook
d'un
classeur sur le ThisWorkBook d'un autre classeur.
Les macros du genre Workbook_Open.....Workbook_SheetActivate.
Quelqu'un aurait-il une idée pour effectuer cette opération simplement
car
je ne suis pas un pro de la programmation.
Merci !