OVH Cloud OVH Cloud

Ne pas exécuter une macro qui n'existe pas !

13 réponses
Avatar
Herdet
Bonsoir à tous,
Comme entrée en matière, Monsieur de La Palisse n'aurait pas dit mieux que
l'objet du message !
But de la manip :
- copier une feuille d'un classeur dans un nouveau classeur
- supprimer le code de la feuille dans ce nouveau classeur
Problème :
la feuille incriminée comporte une Private Sub qui fait appel à d'autres
Sub du module "Principal" source.
Naturellement, le module "Principal" du nouveau classeur n'existant pas,
j'ai un beau message prévisible
"Erreur de compilation " Sub ou Fonction non définie

Si quelqu'un à la solution pour ne pas exécuter les macros du nouveau
classeur ou supprimer la Private Sub de la feuille active avant qu'elle ne
s'exécute, je suis preneur.

HS : depuis que Misange à supprimé (et je la comprends) les dates
d'anniversaires de excelabo, on a tendance à laisser passer des choses
essentielles de la vie.
Toutes mes excuses à JPS et BON ANNIVERSAIRE JEAN-PAUL !!!!!

Salutations
Robert

10 réponses

1 2
Avatar
michdenis
Bonjour Herdet,

Pour les anniversaires... il n'est pas nécessaire de rappeler
à tous les jours à ce bougre qu'il veuillit ...! ;-))

Si ton besoin est de copier une feuille sans le code ...

'------------------------
Sub test()
CopierFeuilleSansVBA ("Feuil1")
End Sub
'------------------------

Sub CopierFeuilleSansVBA(SonNom As String)

ActiveWorkbook.Sheets(SonNom).Copy
With ActiveWorkbook
.Sheets(SonNom).UsedRange.Value = _
.Sheets(SonNom).UsedRange.Value
With .VBProject. _
VBComponents(Sheets(SonNom).CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
End With

End Sub
'------------------------


Salutations!




"Herdet" a écrit dans le message de news: %
Bonsoir à tous,
Comme entrée en matière, Monsieur de La Palisse n'aurait pas dit mieux que
l'objet du message !
But de la manip :
- copier une feuille d'un classeur dans un nouveau classeur
- supprimer le code de la feuille dans ce nouveau classeur
Problème :
la feuille incriminée comporte une Private Sub qui fait appel à d'autres
Sub du module "Principal" source.
Naturellement, le module "Principal" du nouveau classeur n'existant pas,
j'ai un beau message prévisible
"Erreur de compilation " Sub ou Fonction non définie

Si quelqu'un à la solution pour ne pas exécuter les macros du nouveau
classeur ou supprimer la Private Sub de la feuille active avant qu'elle ne
s'exécute, je suis preneur.

HS : depuis que Misange à supprimé (et je la comprends) les dates
d'anniversaires de excelabo, on a tendance à laisser passer des choses
essentielles de la vie.
Toutes mes excuses à JPS et BON ANNIVERSAIRE JEAN-PAUL !!!!!

Salutations
Robert
Avatar
Herdet
Bonsoir Denis,
Désolé, mais c'est la 1ere solution, copiée sur le site de Frédéric
Sigonneau, que j'ai essayé sans succés.
J'ai crée plusieurs procédures basées sur VBComponents mais elles butent
toujours sur le même appel de "Adaptation_Hauteur_ligne", qui n'existe pas.
Cela se produit dans le code de la feuille, à chaque exécution de
ActiveWorkbook.Sheets(SonNom).Copy
La Sub de ma feuille source est :
Private Sub Worksheet_Activate()
Adaptation_Hauteur_ligne ' se trouve dans le module "principal" qui
n'existe pas
End Sub

C'est vrai ce que tu dis au sujet de JPS, ce n'est pas la peine de lui
casser le moral en lui rappelant son âge.
Et je dirais même qu'il n'est pas seul dans ce cas là.
A +
Robert

"michdenis" a écrit dans le message de news:
%
Bonjour Herdet,

Pour les anniversaires... il n'est pas nécessaire de rappeler
à tous les jours à ce bougre qu'il veuillit ...! ;-))

Si ton besoin est de copier une feuille sans le code ...

'------------------------
Sub test()
CopierFeuilleSansVBA ("Feuil1")
End Sub
'------------------------

Sub CopierFeuilleSansVBA(SonNom As String)

ActiveWorkbook.Sheets(SonNom).Copy
With ActiveWorkbook
.Sheets(SonNom).UsedRange.Value = _
.Sheets(SonNom).UsedRange.Value
With .VBProject. _
VBComponents(Sheets(SonNom).CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
End With

End Sub
'------------------------


Salutations!




"Herdet" a écrit dans le message de news:
%
Bonsoir à tous,
Comme entrée en matière, Monsieur de La Palisse n'aurait pas dit mieux que
l'objet du message !
But de la manip :
- copier une feuille d'un classeur dans un nouveau classeur
- supprimer le code de la feuille dans ce nouveau classeur
Problème :
la feuille incriminée comporte une Private Sub qui fait appel à
d'autres
Sub du module "Principal" source.
Naturellement, le module "Principal" du nouveau classeur n'existant
pas,
j'ai un beau message prévisible
"Erreur de compilation " Sub ou Fonction non définie

Si quelqu'un à la solution pour ne pas exécuter les macros du nouveau
classeur ou supprimer la Private Sub de la feuille active avant qu'elle ne
s'exécute, je suis preneur.

HS : depuis que Misange à supprimé (et je la comprends) les dates
d'anniversaires de excelabo, on a tendance à laisser passer des choses
essentielles de la vie.
Toutes mes excuses à JPS et BON ANNIVERSAIRE JEAN-PAUL !!!!!

Salutations
Robert





Avatar
michdenis
Désolé, mais je ne comprends pas ta question :

Si le code module ne contient pas de code, où est ton problème ?

Tu veux faire disparaître tout le code ou une procédure ?


Salutations!



"Herdet" a écrit dans le message de news:
Bonsoir Denis,
Désolé, mais c'est la 1ere solution, copiée sur le site de Frédéric
Sigonneau, que j'ai essayé sans succés.
J'ai crée plusieurs procédures basées sur VBComponents mais elles butent
toujours sur le même appel de "Adaptation_Hauteur_ligne", qui n'existe pas.
Cela se produit dans le code de la feuille, à chaque exécution de
ActiveWorkbook.Sheets(SonNom).Copy
La Sub de ma feuille source est :
Private Sub Worksheet_Activate()
Adaptation_Hauteur_ligne ' se trouve dans le module "principal" qui
n'existe pas
End Sub

C'est vrai ce que tu dis au sujet de JPS, ce n'est pas la peine de lui
casser le moral en lui rappelant son âge.
Et je dirais même qu'il n'est pas seul dans ce cas là.
A +
Robert

"michdenis" a écrit dans le message de news:
%
Bonjour Herdet,

Pour les anniversaires... il n'est pas nécessaire de rappeler
à tous les jours à ce bougre qu'il veuillit ...! ;-))

Si ton besoin est de copier une feuille sans le code ...

'------------------------
Sub test()
CopierFeuilleSansVBA ("Feuil1")
End Sub
'------------------------

Sub CopierFeuilleSansVBA(SonNom As String)

ActiveWorkbook.Sheets(SonNom).Copy
With ActiveWorkbook
.Sheets(SonNom).UsedRange.Value = _
.Sheets(SonNom).UsedRange.Value
With .VBProject. _
VBComponents(Sheets(SonNom).CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
End With

End Sub
'------------------------


Salutations!




"Herdet" a écrit dans le message de news:
%
Bonsoir à tous,
Comme entrée en matière, Monsieur de La Palisse n'aurait pas dit mieux que
l'objet du message !
But de la manip :
- copier une feuille d'un classeur dans un nouveau classeur
- supprimer le code de la feuille dans ce nouveau classeur
Problème :
la feuille incriminée comporte une Private Sub qui fait appel à
d'autres
Sub du module "Principal" source.
Naturellement, le module "Principal" du nouveau classeur n'existant
pas,
j'ai un beau message prévisible
"Erreur de compilation " Sub ou Fonction non définie

Si quelqu'un à la solution pour ne pas exécuter les macros du nouveau
classeur ou supprimer la Private Sub de la feuille active avant qu'elle ne
s'exécute, je suis preneur.

HS : depuis que Misange à supprimé (et je la comprends) les dates
d'anniversaires de excelabo, on a tendance à laisser passer des choses
essentielles de la vie.
Toutes mes excuses à JPS et BON ANNIVERSAIRE JEAN-PAUL !!!!!

Salutations
Robert





Avatar
JpPradier
Bonsoir Robert

Une astuce adaptée de la réponse de Denis : Mettre en commentaire tout le code de la
feuille 4 avant de la copier puis retirer les quotes après.

j-p


Sub test()
CopierFeuilleSansVBA ("Feuil4")
End Sub
'------------------------

Sub CopierFeuilleSansVBA(SonNom As String)
Set wbk = ActiveWorkbook
With wbk.VBProject.VBComponents(Sheets(SonNom).CodeName).CodeModule
nb = .CountOfLines
For i = 1 To nb
.ReplaceLine i, "'" & .Lines(i, 1)
Next
End With
ActiveWorkbook.Sheets(SonNom).Copy
With ActiveWorkbook
.Sheets(SonNom).UsedRange.Value = _
.Sheets(SonNom).UsedRange.Value
With .VBProject. _
VBComponents(Sheets(SonNom).CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
End With
With wbk.VBProject.VBComponents(Sheets(SonNom).CodeName).CodeModule
nb = .CountOfLines
For i = 1 To nb
.ReplaceLine i, Mid(.Lines(i, 1), 2)
Next
End With
End Sub
Avatar
michdenis
Bonjour Herdet,

Ceci copie la feuil1 du classeur dans les procédures
en évitant que les macros événementielles de la feuille copiée
s'exécute...

'-----------------------------
Sub test()
' 2 paramêtres : Le classeur où est la feuille
' Le nom de l'onglet de la feuille
CopierFeuilleSansVBA ThisWorkbook, "Feuil1"

End Sub

'-----------------------------
Sub CopierFeuilleSansVBA(Wk As Workbook, SonNom As String)

Dim Texte As String
With Wk.VBProject.VBComponents(Wk.Worksheets(SonNom) _
.CodeName).CodeModule
Texte = .Lines(1, .CountOfLines)
.DeleteLines 1, .CountOfLines
Sheets(SonNom).Copy
.AddFromString Texte
End With

End Sub
'-----------------------------


Salutations!




"Herdet" a écrit dans le message de news:
Bonsoir Denis,
Désolé, mais c'est la 1ere solution, copiée sur le site de Frédéric
Sigonneau, que j'ai essayé sans succés.
J'ai crée plusieurs procédures basées sur VBComponents mais elles butent
toujours sur le même appel de "Adaptation_Hauteur_ligne", qui n'existe pas.
Cela se produit dans le code de la feuille, à chaque exécution de
ActiveWorkbook.Sheets(SonNom).Copy
La Sub de ma feuille source est :
Private Sub Worksheet_Activate()
Adaptation_Hauteur_ligne ' se trouve dans le module "principal" qui
n'existe pas
End Sub

C'est vrai ce que tu dis au sujet de JPS, ce n'est pas la peine de lui
casser le moral en lui rappelant son âge.
Et je dirais même qu'il n'est pas seul dans ce cas là.
A +
Robert

"michdenis" a écrit dans le message de news:
%
Bonjour Herdet,

Pour les anniversaires... il n'est pas nécessaire de rappeler
à tous les jours à ce bougre qu'il veuillit ...! ;-))

Si ton besoin est de copier une feuille sans le code ...

'------------------------
Sub test()
CopierFeuilleSansVBA ("Feuil1")
End Sub
'------------------------

Sub CopierFeuilleSansVBA(SonNom As String)

ActiveWorkbook.Sheets(SonNom).Copy
With ActiveWorkbook
.Sheets(SonNom).UsedRange.Value = _
.Sheets(SonNom).UsedRange.Value
With .VBProject. _
VBComponents(Sheets(SonNom).CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
End With

End Sub
'------------------------


Salutations!




"Herdet" a écrit dans le message de news:
%
Bonsoir à tous,
Comme entrée en matière, Monsieur de La Palisse n'aurait pas dit mieux que
l'objet du message !
But de la manip :
- copier une feuille d'un classeur dans un nouveau classeur
- supprimer le code de la feuille dans ce nouveau classeur
Problème :
la feuille incriminée comporte une Private Sub qui fait appel à
d'autres
Sub du module "Principal" source.
Naturellement, le module "Principal" du nouveau classeur n'existant
pas,
j'ai un beau message prévisible
"Erreur de compilation " Sub ou Fonction non définie

Si quelqu'un à la solution pour ne pas exécuter les macros du nouveau
classeur ou supprimer la Private Sub de la feuille active avant qu'elle ne
s'exécute, je suis preneur.

HS : depuis que Misange à supprimé (et je la comprends) les dates
d'anniversaires de excelabo, on a tendance à laisser passer des choses
essentielles de la vie.
Toutes mes excuses à JPS et BON ANNIVERSAIRE JEAN-PAUL !!!!!

Salutations
Robert





Avatar
Alain CROS
Bonjour,

Private Sub CommandButton1_Click()
With Application
.ScreenUpdating = False
.Cells.Copy
.Workbooks.Add xlWBATWorksheet
With .ActiveSheet
.Paste
.[A1].Select
End With
.CutCopyMode = False
.ScreenUpdating = True
End With
End Sub

Alain CROS

"Herdet" a écrit dans le message de news: #
| Bonsoir à tous,
| Comme entrée en matière, Monsieur de La Palisse n'aurait pas dit mieux que
| l'objet du message !
| But de la manip :
| - copier une feuille d'un classeur dans un nouveau classeur
| - supprimer le code de la feuille dans ce nouveau classeur
| Problème :
| la feuille incriminée comporte une Private Sub qui fait appel à d'autres
| Sub du module "Principal" source.
| Naturellement, le module "Principal" du nouveau classeur n'existant pas,
| j'ai un beau message prévisible
| "Erreur de compilation " Sub ou Fonction non définie
|
| Si quelqu'un à la solution pour ne pas exécuter les macros du nouveau
| classeur ou supprimer la Private Sub de la feuille active avant qu'elle ne
| s'exécute, je suis preneur.
|
| HS : depuis que Misange à supprimé (et je la comprends) les dates
| d'anniversaires de excelabo, on a tendance à laisser passer des choses
| essentielles de la vie.
| Toutes mes excuses à JPS et BON ANNIVERSAIRE JEAN-PAUL !!!!!
|
| Salutations
| Robert
|
|
Avatar
Herdet
OK, C'est tout bon Denis ! Ca marche au poil.
Et merci d'avoir veillé aussi tard pour trouver cette solution.
Cordialement
Robert

"michdenis" a écrit dans le message de news:

Bonjour Herdet,

Ceci copie la feuil1 du classeur dans les procédures
en évitant que les macros événementielles de la feuille copiée
s'exécute...

'-----------------------------
Sub test()
' 2 paramêtres : Le classeur où est la feuille
' Le nom de l'onglet de la feuille
CopierFeuilleSansVBA ThisWorkbook, "Feuil1"

End Sub

'-----------------------------
Sub CopierFeuilleSansVBA(Wk As Workbook, SonNom As String)

Dim Texte As String
With Wk.VBProject.VBComponents(Wk.Worksheets(SonNom) _
.CodeName).CodeModule
Texte = .Lines(1, .CountOfLines)
.DeleteLines 1, .CountOfLines
Sheets(SonNom).Copy
.AddFromString Texte
End With

End Sub
'-----------------------------


Salutations!




"Herdet" a écrit dans le message de news:

Bonsoir Denis,
Désolé, mais c'est la 1ere solution, copiée sur le site de Frédéric
Sigonneau, que j'ai essayé sans succés.
J'ai crée plusieurs procédures basées sur VBComponents mais elles butent
toujours sur le même appel de "Adaptation_Hauteur_ligne", qui n'existe
pas.
Cela se produit dans le code de la feuille, à chaque exécution de
ActiveWorkbook.Sheets(SonNom).Copy
La Sub de ma feuille source est :
Private Sub Worksheet_Activate()
Adaptation_Hauteur_ligne ' se trouve dans le module "principal" qui
n'existe pas
End Sub

C'est vrai ce que tu dis au sujet de JPS, ce n'est pas la peine de lui
casser le moral en lui rappelant son âge.
Et je dirais même qu'il n'est pas seul dans ce cas là.
A +
Robert

"michdenis" a écrit dans le message de news:
%
Bonjour Herdet,

Pour les anniversaires... il n'est pas nécessaire de rappeler
à tous les jours à ce bougre qu'il veuillit ...! ;-))

Si ton besoin est de copier une feuille sans le code ...

'------------------------
Sub test()
CopierFeuilleSansVBA ("Feuil1")
End Sub
'------------------------

Sub CopierFeuilleSansVBA(SonNom As String)

ActiveWorkbook.Sheets(SonNom).Copy
With ActiveWorkbook
.Sheets(SonNom).UsedRange.Value = _
.Sheets(SonNom).UsedRange.Value
With .VBProject. _
VBComponents(Sheets(SonNom).CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
End With

End Sub
'------------------------


Salutations!




"Herdet" a écrit dans le message de news:
%
Bonsoir à tous,
Comme entrée en matière, Monsieur de La Palisse n'aurait pas dit mieux
que
l'objet du message !
But de la manip :
- copier une feuille d'un classeur dans un nouveau classeur
- supprimer le code de la feuille dans ce nouveau classeur
Problème :
la feuille incriminée comporte une Private Sub qui fait appel à
d'autres
Sub du module "Principal" source.
Naturellement, le module "Principal" du nouveau classeur n'existant
pas,
j'ai un beau message prévisible
"Erreur de compilation " Sub ou Fonction non définie

Si quelqu'un à la solution pour ne pas exécuter les macros du nouveau
classeur ou supprimer la Private Sub de la feuille active avant qu'elle
ne
s'exécute, je suis preneur.

HS : depuis que Misange à supprimé (et je la comprends) les dates
d'anniversaires de excelabo, on a tendance à laisser passer des choses
essentielles de la vie.
Toutes mes excuses à JPS et BON ANNIVERSAIRE JEAN-PAUL !!!!!

Salutations
Robert










Avatar
Herdet
Bonjour JP,
J'avais un peu envisagé un telle solution mais je l'ai vite abandonnée car
elle traitait les lignes de code une par une.
Je pense que je vais m'en tenir à la dernière solution de Denis de ce matin
qui traite en bloc le code de la feuille nommée.
En tout cas merci de ton aide et d'avoir consacré un peu de temps sur ce
problème.
Anitiés
Robert

"JpPradier" a écrit dans le message
de news:
Bonsoir Robert

Une astuce adaptée de la réponse de Denis : Mettre en commentaire tout le
code de la
feuille 4 avant de la copier puis retirer les quotes après.

j-p


Sub test()
CopierFeuilleSansVBA ("Feuil4")
End Sub
'------------------------

Sub CopierFeuilleSansVBA(SonNom As String)
Set wbk = ActiveWorkbook
With wbk.VBProject.VBComponents(Sheets(SonNom).CodeName).CodeModule
nb = .CountOfLines
For i = 1 To nb
.ReplaceLine i, "'" & .Lines(i, 1)
Next
End With
ActiveWorkbook.Sheets(SonNom).Copy
With ActiveWorkbook
.Sheets(SonNom).UsedRange.Value = _
.Sheets(SonNom).UsedRange.Value
With .VBProject. _
VBComponents(Sheets(SonNom).CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
End With
With wbk.VBProject.VBComponents(Sheets(SonNom).CodeName).CodeModule
nb = .CountOfLines
For i = 1 To nb
.ReplaceLine i, Mid(.Lines(i, 1), 2)
Next
End With
End Sub



Avatar
jps
achhhhhhhhhhhhhhhhhhhhh
je n'avais pas vu qu'on se gaussait allègrement sur ma vieille
carcasse..elle a bon dos heureusement et merci quand même à cette
fripouille d'Herdet de m'avoir souhaité un joyeux zani
jps
PS perso à Sitting Hoax : j'ai alerté mes copains de la Yakuza (à marseille,
il faut les grands moyens) pour te faire rendre gorge de ce "A part la
fameuse chanson de qui vous savez, je ne vois pas ce qui peut vous empêcher
de venir au soleil faire une partie de boules avec nous;-)))"


"Herdet" a écrit dans le message de news:

OK, C'est tout bon Denis ! Ca marche au poil.
Et merci d'avoir veillé aussi tard pour trouver cette solution.
Cordialement
Robert

"michdenis" a écrit dans le message de news:

Bonjour Herdet,

Ceci copie la feuil1 du classeur dans les procédures
en évitant que les macros événementielles de la feuille copiée
s'exécute...

'-----------------------------
Sub test()
' 2 paramêtres : Le classeur où est la feuille
' Le nom de l'onglet de la feuille
CopierFeuilleSansVBA ThisWorkbook, "Feuil1"

End Sub

'-----------------------------
Sub CopierFeuilleSansVBA(Wk As Workbook, SonNom As String)

Dim Texte As String
With Wk.VBProject.VBComponents(Wk.Worksheets(SonNom) _
.CodeName).CodeModule
Texte = .Lines(1, .CountOfLines)
.DeleteLines 1, .CountOfLines
Sheets(SonNom).Copy
.AddFromString Texte
End With

End Sub
'-----------------------------


Salutations!




"Herdet" a écrit dans le message de news:

Bonsoir Denis,
Désolé, mais c'est la 1ere solution, copiée sur le site de Frédéric
Sigonneau, que j'ai essayé sans succés.
J'ai crée plusieurs procédures basées sur VBComponents mais elles butent
toujours sur le même appel de "Adaptation_Hauteur_ligne", qui n'existe
pas.
Cela se produit dans le code de la feuille, à chaque exécution de
ActiveWorkbook.Sheets(SonNom).Copy
La Sub de ma feuille source est :
Private Sub Worksheet_Activate()
Adaptation_Hauteur_ligne ' se trouve dans le module "principal" qui
n'existe pas
End Sub

C'est vrai ce que tu dis au sujet de JPS, ce n'est pas la peine de lui
casser le moral en lui rappelant son âge.
Et je dirais même qu'il n'est pas seul dans ce cas là.
A +
Robert

"michdenis" a écrit dans le message de news:
%
Bonjour Herdet,

Pour les anniversaires... il n'est pas nécessaire de rappeler
à tous les jours à ce bougre qu'il veuillit ...! ;-))

Si ton besoin est de copier une feuille sans le code ...

'------------------------
Sub test()
CopierFeuilleSansVBA ("Feuil1")
End Sub
'------------------------

Sub CopierFeuilleSansVBA(SonNom As String)

ActiveWorkbook.Sheets(SonNom).Copy
With ActiveWorkbook
.Sheets(SonNom).UsedRange.Value = _
.Sheets(SonNom).UsedRange.Value
With .VBProject. _
VBComponents(Sheets(SonNom).CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
End With

End Sub
'------------------------


Salutations!




"Herdet" a écrit dans le message de news:
%
Bonsoir à tous,
Comme entrée en matière, Monsieur de La Palisse n'aurait pas dit mieux
que
l'objet du message !
But de la manip :
- copier une feuille d'un classeur dans un nouveau classeur
- supprimer le code de la feuille dans ce nouveau classeur
Problème :
la feuille incriminée comporte une Private Sub qui fait appel à
d'autres
Sub du module "Principal" source.
Naturellement, le module "Principal" du nouveau classeur n'existant
pas,
j'ai un beau message prévisible
"Erreur de compilation " Sub ou Fonction non définie

Si quelqu'un à la solution pour ne pas exécuter les macros du nouveau
classeur ou supprimer la Private Sub de la feuille active avant qu'elle
ne
s'exécute, je suis preneur.

HS : depuis que Misange à supprimé (et je la comprends) les dates
d'anniversaires de excelabo, on a tendance à laisser passer des choses
essentielles de la vie.
Toutes mes excuses à JPS et BON ANNIVERSAIRE JEAN-PAUL !!!!!

Salutations
Robert














Avatar
Herdet
Bonjour Alain,
Merci pour ta solution.
Elle présente toutefois les inconvénients du copier/coller basique :
- les objets Logo, Listes déroulantes, bouton ne sont pas copiés
- le formatage ne suit pas (quadrillage, le mode plan et les colonnes
masquées deviennent visible, ...)
- le nom de la feuille à été perdu.
La fonction "Déplacer/copier" directe fonctionne mieux en général.
Cordiales salutations
Robert

"Alain CROS" a écrit dans le message de news:
%
Bonjour,

Private Sub CommandButton1_Click()
With Application
.ScreenUpdating = False
.Cells.Copy
.Workbooks.Add xlWBATWorksheet
With .ActiveSheet
.Paste
.[A1].Select
End With
.CutCopyMode = False
.ScreenUpdating = True
End With
End Sub

Alain CROS

"Herdet" a écrit dans le message de news:
#
| Bonsoir à tous,
| Comme entrée en matière, Monsieur de La Palisse n'aurait pas dit mieux
que
| l'objet du message !
| But de la manip :
| - copier une feuille d'un classeur dans un nouveau classeur
| - supprimer le code de la feuille dans ce nouveau classeur
| Problème :
| la feuille incriminée comporte une Private Sub qui fait appel à
d'autres
| Sub du module "Principal" source.
| Naturellement, le module "Principal" du nouveau classeur n'existant
pas,
| j'ai un beau message prévisible
| "Erreur de compilation " Sub ou Fonction non définie
|
| Si quelqu'un à la solution pour ne pas exécuter les macros du nouveau
| classeur ou supprimer la Private Sub de la feuille active avant qu'elle
ne
| s'exécute, je suis preneur.
|
| HS : depuis que Misange à supprimé (et je la comprends) les dates
| d'anniversaires de excelabo, on a tendance à laisser passer des choses
| essentielles de la vie.
| Toutes mes excuses à JPS et BON ANNIVERSAIRE JEAN-PAUL !!!!!
|
| Salutations
| Robert
|
|




1 2